[SCSI] cxgb4i: avoid holding mutex in interrupt context
authorAnish Bhatt <anish@chelsio.com>
Tue, 16 Sep 2014 00:44:18 +0000 (17:44 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 1 Oct 2014 17:40:22 +0000 (13:40 -0400)
commit078efae00ffc76381c3248006e9cf0988163488f
tree59f80cbdbd8f9468c1594eef93f89f90926060b7
parent7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9
[SCSI] cxgb4i: avoid holding mutex in interrupt context

cxgbi_inet6addr_handler() can be called in interrupt context, so use rcu
protected list while finding netdev.  This is observed as a scheduling in
atomic oops when running over ipv6.

Fixes: fc8d0590d914 ("libcxgbi: Add ipv6 api to driver")
Fixes: 759a0cc5a3e1 ("cxgb4i: Add ipv6 code to driver, call into libcxgbi ipv6 api")
Signed-off-by: Anish Bhatt <anish@chelsio.com>
Signed-off-by: Karen Xie <kxie@chelsio.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/cxgbi/cxgb4i/cxgb4i.c
drivers/scsi/cxgbi/libcxgbi.c
drivers/scsi/cxgbi/libcxgbi.h