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:
Oliver Neukum 2012-04-30 09:57:31 +02:00 коммит произвёл Greg Kroah-Hartman
Родитель 880bca3a2a
Коммит 12a98b2bd8
1 изменённых файлов: 4 добавлений и 0 удалений

Просмотреть файл

@ -368,6 +368,7 @@ static ssize_t wdm_write
r = usb_autopm_get_interface(desc->intf);
if (r < 0) {
kfree(buf);
rv = usb_translate_errors(r);
goto outnp;
}
@ -383,6 +384,7 @@ static ssize_t wdm_write
if (r < 0) {
kfree(buf);
rv = r;
goto out;
}
@ -412,6 +414,7 @@ static ssize_t wdm_write
kfree(buf);
clear_bit(WDM_IN_USE, &desc->flags);
dev_err(&desc->intf->dev, "Tx URB error: %d\n", rv);
rv = usb_translate_errors(rv);
} else {
dev_dbg(&desc->intf->dev, "Tx URB has been submitted index=%d",
req->wIndex);
@ -593,6 +596,7 @@ static int wdm_open(struct inode *inode, struct file *file)
desc->count--;
dev_err(&desc->intf->dev,
"Error submitting int urb - %d\n", rv);
rv = usb_translate_errors(rv);
}
} else {
rv = 0;