Commit a541f840 authored by Michael Chan's avatar Michael Chan Committed by David S. Miller

iscsi: Use GFP_ATOMIC in iscsi_offload_mesg().

Changing to GFP_ATOMIC because the only caller in cnic/bnx2i may
be calling this function while holding spin_lock.

This problem was discovered by Mike Christie.
Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
Acked-by: default avatarMike Christie <michaelc@cs.wisc.edu>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ca7daea6
...@@ -990,7 +990,7 @@ int iscsi_offload_mesg(struct Scsi_Host *shost, ...@@ -990,7 +990,7 @@ int iscsi_offload_mesg(struct Scsi_Host *shost,
struct iscsi_uevent *ev; struct iscsi_uevent *ev;
int len = NLMSG_SPACE(sizeof(*ev) + data_size); int len = NLMSG_SPACE(sizeof(*ev) + data_size);
skb = alloc_skb(len, GFP_NOIO); skb = alloc_skb(len, GFP_ATOMIC);
if (!skb) { if (!skb) {
printk(KERN_ERR "can not deliver iscsi offload message:OOM\n"); printk(KERN_ERR "can not deliver iscsi offload message:OOM\n");
return -ENOMEM; return -ENOMEM;
...@@ -1012,7 +1012,7 @@ int iscsi_offload_mesg(struct Scsi_Host *shost, ...@@ -1012,7 +1012,7 @@ int iscsi_offload_mesg(struct Scsi_Host *shost,
memcpy((char *)ev + sizeof(*ev), data, data_size); memcpy((char *)ev + sizeof(*ev), data, data_size);
return iscsi_multicast_skb(skb, ISCSI_NL_GRP_UIP, GFP_NOIO); return iscsi_multicast_skb(skb, ISCSI_NL_GRP_UIP, GFP_ATOMIC);
} }
EXPORT_SYMBOL_GPL(iscsi_offload_mesg); EXPORT_SYMBOL_GPL(iscsi_offload_mesg);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment