|
@@ -350,6 +350,7 @@ void usb_serial_generic_read_bulk_callback(struct urb *urb)
|
|
|
struct usb_serial_port *port = urb->context;
|
|
|
unsigned char *data = urb->transfer_buffer;
|
|
|
unsigned long flags;
|
|
|
+ int status = urb->status;
|
|
|
int i;
|
|
|
|
|
|
for (i = 0; i < ARRAY_SIZE(port->read_urbs); ++i) {
|
|
@@ -360,22 +361,22 @@ void usb_serial_generic_read_bulk_callback(struct urb *urb)
|
|
|
|
|
|
dev_dbg(&port->dev, "%s - urb %d, len %d\n", __func__, i,
|
|
|
urb->actual_length);
|
|
|
- switch (urb->status) {
|
|
|
+ switch (status) {
|
|
|
case 0:
|
|
|
break;
|
|
|
case -ENOENT:
|
|
|
case -ECONNRESET:
|
|
|
case -ESHUTDOWN:
|
|
|
dev_dbg(&port->dev, "%s - urb stopped: %d\n",
|
|
|
- __func__, urb->status);
|
|
|
+ __func__, status);
|
|
|
return;
|
|
|
case -EPIPE:
|
|
|
dev_err(&port->dev, "%s - urb stopped: %d\n",
|
|
|
- __func__, urb->status);
|
|
|
+ __func__, status);
|
|
|
return;
|
|
|
default:
|
|
|
dev_dbg(&port->dev, "%s - nonzero urb status: %d\n",
|
|
|
- __func__, urb->status);
|
|
|
+ __func__, status);
|
|
|
goto resubmit;
|
|
|
}
|
|
|
|
|
@@ -399,6 +400,7 @@ void usb_serial_generic_write_bulk_callback(struct urb *urb)
|
|
|
{
|
|
|
unsigned long flags;
|
|
|
struct usb_serial_port *port = urb->context;
|
|
|
+ int status = urb->status;
|
|
|
int i;
|
|
|
|
|
|
for (i = 0; i < ARRAY_SIZE(port->write_urbs); ++i) {
|
|
@@ -410,22 +412,22 @@ void usb_serial_generic_write_bulk_callback(struct urb *urb)
|
|
|
set_bit(i, &port->write_urbs_free);
|
|
|
spin_unlock_irqrestore(&port->lock, flags);
|
|
|
|
|
|
- switch (urb->status) {
|
|
|
+ switch (status) {
|
|
|
case 0:
|
|
|
break;
|
|
|
case -ENOENT:
|
|
|
case -ECONNRESET:
|
|
|
case -ESHUTDOWN:
|
|
|
dev_dbg(&port->dev, "%s - urb stopped: %d\n",
|
|
|
- __func__, urb->status);
|
|
|
+ __func__, status);
|
|
|
return;
|
|
|
case -EPIPE:
|
|
|
dev_err_console(port, "%s - urb stopped: %d\n",
|
|
|
- __func__, urb->status);
|
|
|
+ __func__, status);
|
|
|
return;
|
|
|
default:
|
|
|
dev_err_console(port, "%s - nonzero urb status: %d\n",
|
|
|
- __func__, urb->status);
|
|
|
+ __func__, status);
|
|
|
goto resubmit;
|
|
|
}
|
|
|
|