Skip to contentSkip to conversation

firewire: sbp2: replace a GFP_ATOMIC allocation

PATCH New Stefan Richter 1 participant 1 message Mar 4, 2012 Firewire

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 firewire: sbp2: replace a GFP_ATOMIC allocation

sbp2_send_management_orb() is called by sbp2_login, sbp2_reconnect, and sbp2_remove, all which are able to sleep during memory allocations. Actually, sbp2_send_management_orb() itself is a sleeping function.

Login and remove could allocate with GFP_KERNEL but reconnect needs GFP_NOIO to ensure progress in low memory situations.

---
 drivers/firewire/sbp2.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/firewire/sbp2.c +1 -1
@@ -569,7 +569,7 @@ static int sbp2_send_management_orb(stru
 	if (function == SBP2_LOGOUT_REQUEST && fw_device_is_shutdown(device))
 		return 0;
 
-	orb = kzalloc(sizeof(*orb), GFP_ATOMIC);
+	orb = kzalloc(sizeof(*orb), GFP_NOIO);
 	if (orb == NULL)
 		return -ENOMEM;
 
Signature · 3 lines
Stefan Richter
-=====-===-- --== --=--
http://arcgraph.de/sr/