Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -990,7 +990,7 @@ int iscsi_offload_mesg(struct Scsi_Host *shost,
	struct iscsi_uevent *ev;
	int len = NLMSG_SPACE(sizeof(*ev) + data_size);

	skb = alloc_skb(len, GFP_NOIO);
	skb = alloc_skb(len, GFP_ATOMIC);
	if (!skb) {
		printk(KERN_ERR "can not deliver iscsi offload message:OOM\n");
		return -ENOMEM;
@@ -1012,7 +1012,7 @@ int iscsi_offload_mesg(struct Scsi_Host *shost,

	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);