USB: cdc-wdm: cleanup error codes
MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The internal error codes returned in the write() code path cannot be simply passed on to user space. Signed-off-by: Oliver Neukum <oneukum@suse.de> Tested-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
880bca3a2a
commit
12a98b2bd8
|
@ -368,6 +368,7 @@ static ssize_t wdm_write
|
||||||
r = usb_autopm_get_interface(desc->intf);
|
r = usb_autopm_get_interface(desc->intf);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
kfree(buf);
|
kfree(buf);
|
||||||
|
rv = usb_translate_errors(r);
|
||||||
goto outnp;
|
goto outnp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -383,6 +384,7 @@ static ssize_t wdm_write
|
||||||
|
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
kfree(buf);
|
kfree(buf);
|
||||||
|
rv = r;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -412,6 +414,7 @@ static ssize_t wdm_write
|
||||||
kfree(buf);
|
kfree(buf);
|
||||||
clear_bit(WDM_IN_USE, &desc->flags);
|
clear_bit(WDM_IN_USE, &desc->flags);
|
||||||
dev_err(&desc->intf->dev, "Tx URB error: %d\n", rv);
|
dev_err(&desc->intf->dev, "Tx URB error: %d\n", rv);
|
||||||
|
rv = usb_translate_errors(rv);
|
||||||
} else {
|
} else {
|
||||||
dev_dbg(&desc->intf->dev, "Tx URB has been submitted index=%d",
|
dev_dbg(&desc->intf->dev, "Tx URB has been submitted index=%d",
|
||||||
req->wIndex);
|
req->wIndex);
|
||||||
|
@ -593,6 +596,7 @@ static int wdm_open(struct inode *inode, struct file *file)
|
||||||
desc->count--;
|
desc->count--;
|
||||||
dev_err(&desc->intf->dev,
|
dev_err(&desc->intf->dev,
|
||||||
"Error submitting int urb - %d\n", rv);
|
"Error submitting int urb - %d\n", rv);
|
||||||
|
rv = usb_translate_errors(rv);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
rv = 0;
|
rv = 0;
|
||||||
|
|
Loading…
Reference in New Issue