Subject: Re: [PATCH v3 3/6] RapidIO: Add Port-Write handling for EM

From: Andrew Morton <[email-masked]>
Date: Mon, 12 Apr 2010 20:49:49 -0400

On Tue, 6 Apr 2010 17:22:38 -0400 Alexandre Bounine <[email-masked]> wrote:

> 
> From: Alexandre Bounine <[email-masked]>
> 
> Add RapidIO Port-Write message handling in the context
> of Error Management Extensions Specification Rev.1.3.
>
> ...
>
> +static struct rio_dev *rio_get_comptag(u32 comp_tag, struct rio_dev *from)
> +{
> +	struct list_head *n;
> +	struct rio_dev *rdev;
> +
> +	WARN_ON(in_interrupt());

The check should be unneeded - lockdep will warn about this.

> +	spin_lock(&rio_global_list_lock);
> +	n = from ? from->global_list.next : rio_devices.next;
> +
> +	while (n && (n != &rio_devices)) {
> +		rdev = rio_dev_g(n);
> +		if (rdev->comp_tag == comp_tag)
> +			goto exit;
> +		n = n->next;
> +	}
> +	rdev = NULL;
> +exit:
> +	spin_unlock(&rio_global_list_lock);
> +	return rdev;
> +}
> +