diff options
| author | Oliver Neukum <oliver@neukum.name> | 2006-11-23 09:40:17 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-12-01 17:25:51 -0500 |
| commit | 10c8211c634f759633ffcdc3b0e2913963b32abc (patch) | |
| tree | a22758a030a61b6441dfaf0eff934697ff1befb4 /drivers/usb/net | |
| parent | 9aa742ef7c1a7ff8e6df92a93ce3688e99fa66e3 (diff) | |
USB: pegasus error path not resetting task's state
there is an error path in the pegasus driver which can leave
the task in TASK_UNINTERRUPTIBLE. Depending on when it
schedules next, this can be bad.
Signed-off-by: Oliver Neukum <oliver@neukum.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/net')
| -rw-r--r-- | drivers/usb/net/pegasus.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/net/pegasus.c b/drivers/usb/net/pegasus.c index 33abbd2176..69eb0db399 100644 --- a/drivers/usb/net/pegasus.c +++ b/drivers/usb/net/pegasus.c | |||
| @@ -163,6 +163,7 @@ static int get_registers(pegasus_t * pegasus, __u16 indx, __u16 size, | |||
| 163 | 163 | ||
| 164 | /* using ATOMIC, we'd never wake up if we slept */ | 164 | /* using ATOMIC, we'd never wake up if we slept */ |
| 165 | if ((ret = usb_submit_urb(pegasus->ctrl_urb, GFP_ATOMIC))) { | 165 | if ((ret = usb_submit_urb(pegasus->ctrl_urb, GFP_ATOMIC))) { |
| 166 | set_current_state(TASK_RUNNING); | ||
| 166 | if (ret == -ENODEV) | 167 | if (ret == -ENODEV) |
| 167 | netif_device_detach(pegasus->net); | 168 | netif_device_detach(pegasus->net); |
| 168 | if (netif_msg_drv(pegasus)) | 169 | if (netif_msg_drv(pegasus)) |
