diff options
author | Oliver Neukum <oliver@neukum.org> | 2008-01-10 04:31:48 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-02-01 17:34:45 -0500 |
commit | 0cc1a51ff32cd54881a7e4d92ed89cee49843265 (patch) | |
tree | 6ac8d81efd81f768245d44f03a545b128dd546a5 /drivers/usb | |
parent | 4bb0ef193bae8ca881d14fa713a831c042147041 (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>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/core/hub.c | 2 |
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 */ |