diff options
| author | Oliver Neukum <oliver@neukum.org> | 2010-02-27 14:55:26 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-03-19 10:24:15 -0400 |
| commit | d855fe2e9c19edaa47baba0e7f95e17f7a24dba8 (patch) | |
| tree | fc6ac6e1c0a74ff70f1fbf67cb6bb85a1453f694 | |
| parent | 922a5eadd5a3aa0b806be0c18694b618d41d0784 (diff) | |
usb: cdc-wdm: Fix race between disconnect and debug messages
dev_dbg() and dev_err() cannot be used to report failures
that may have been caused by a device's removal
Signed-off-by: Oliver Neukum <neukum@b1-systems.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| -rw-r--r-- | drivers/usb/class/cdc-wdm.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c index 940b17af162c..72e2eb030459 100644 --- a/drivers/usb/class/cdc-wdm.c +++ b/drivers/usb/class/cdc-wdm.c | |||
| @@ -435,11 +435,8 @@ retry: | |||
| 435 | spin_lock_irq(&desc->iuspin); | 435 | spin_lock_irq(&desc->iuspin); |
| 436 | 436 | ||
| 437 | if (desc->rerr) { /* read completed, error happened */ | 437 | if (desc->rerr) { /* read completed, error happened */ |
| 438 | int t = desc->rerr; | ||
| 439 | desc->rerr = 0; | 438 | desc->rerr = 0; |
| 440 | spin_unlock_irq(&desc->iuspin); | 439 | spin_unlock_irq(&desc->iuspin); |
| 441 | dev_err(&desc->intf->dev, | ||
| 442 | "reading had resulted in %d\n", t); | ||
| 443 | rv = -EIO; | 440 | rv = -EIO; |
| 444 | goto err; | 441 | goto err; |
| 445 | } | 442 | } |
| @@ -477,8 +474,6 @@ retry: | |||
| 477 | 474 | ||
| 478 | err: | 475 | err: |
| 479 | mutex_unlock(&desc->lock); | 476 | mutex_unlock(&desc->lock); |
| 480 | if (rv < 0 && rv != -EAGAIN) | ||
| 481 | dev_err(&desc->intf->dev, "wdm_read: exit error\n"); | ||
| 482 | return rv; | 477 | return rv; |
| 483 | } | 478 | } |
| 484 | 479 | ||
