Ports the omninet driver from write_urb_busy spin_lock to
usb_serial_write_urb_lock() functions.
Signed-off-by: Luiz Capitulino <[email protected]>
drivers/usb/serial/omninet.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff -Nparu -X /home/lcapitulino/kernels/dontdiff a/drivers/usb/serial/omninet.c a~/drivers/usb/serial/omninet.c
--- a/drivers/usb/serial/omninet.c 2005-12-04 01:44:19.000000000 -0200
+++ a~/drivers/usb/serial/omninet.c 2005-12-04 15:08:27.000000000 -0200
@@ -257,14 +257,10 @@ static int omninet_write (struct usb_ser
return (0);
}
- spin_lock(&port->lock);
- if (port->write_urb_busy) {
- spin_unlock(&port->lock);
+ if (usb_serial_write_urb_lock(port)) {
dbg("%s - already writing", __FUNCTION__);
return 0;
}
- port->write_urb_busy = 1;
- spin_unlock(&port->lock);
count = (count > OMNINET_BULKOUTSIZE) ? OMNINET_BULKOUTSIZE : count;
@@ -283,7 +279,7 @@ static int omninet_write (struct usb_ser
wport->write_urb->dev = serial->dev;
result = usb_submit_urb(wport->write_urb, GFP_ATOMIC);
if (result) {
- port->write_urb_busy = 0;
+ usb_serial_write_urb_unlock(port);
err("%s - failed submitting write urb, error %d", __FUNCTION__, result);
} else
result = count;
@@ -299,7 +295,7 @@ static int omninet_write_room (struct us
int room = 0; // Default: no room
- if (wport->write_urb_busy)
+ if (usb_serial_write_urb_locked(wport))
room = wport->bulk_out_size - OMNINET_HEADERLEN;
// dbg("omninet_write_room returns %d", room);
@@ -314,7 +310,7 @@ static void omninet_write_bulk_callback
// dbg("omninet_write_bulk_callback, port %0x\n", port);
- port->write_urb_busy = 0;
+ usb_serial_write_urb_unlock(port);
if (urb->status) {
dbg("%s - nonzero write bulk status received: %d", __FUNCTION__, urb->status);
return;
--
Luiz Fernando N. Capitulino