aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Neukum <oliver@neukum.org>2008-01-10 04:31:48 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2008-02-01 17:34:45 -0500
commit0cc1a51ff32cd54881a7e4d92ed89cee49843265 (patch)
tree6ac8d81efd81f768245d44f03a545b128dd546a5
parent4bb0ef193bae8ca881d14fa713a831c042147041 (diff)
USB: use GFP_NOIO in reset path
this function will run in the context of the scsi error handler thread. It must use GFP_NOIO instead of GFP_KERNEL to avoid a possible deadlock. Cc: stable <stable@kernel.org> Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/core/hub.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index b04d232d4c65..1b17f636f49c 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -2946,7 +2946,7 @@ static int config_descriptors_changed(struct usb_device *udev)
2946 if (len < le16_to_cpu(udev->config[index].desc.wTotalLength)) 2946 if (len < le16_to_cpu(udev->config[index].desc.wTotalLength))
2947 len = le16_to_cpu(udev->config[index].desc.wTotalLength); 2947 len = le16_to_cpu(udev->config[index].desc.wTotalLength);
2948 } 2948 }
2949 buf = kmalloc (len, GFP_KERNEL); 2949 buf = kmalloc(len, GFP_NOIO);
2950 if (buf == NULL) { 2950 if (buf == NULL) {
2951 dev_err(&udev->dev, "no mem to re-read configs after reset\n"); 2951 dev_err(&udev->dev, "no mem to re-read configs after reset\n");
2952 /* assume the worst */ 2952 /* assume the worst */