ChangeSet 1.1216, 2003/06/18 16:34:29-07:00, [EMAIL PROTECTED]

[PATCH] USB speedtouch: spin_lock_irqsave -> spin_lock_irq in process context

Replace spin_lock_irqsave/spin_unlock_irqrestore with
spin_lock_irq/spin_unlock_irq in routines that are only
called in process context.


 drivers/usb/speedtouch.c |   23 ++++++++++-------------
 1 files changed, 10 insertions(+), 13 deletions(-)


diff -Nru a/drivers/usb/speedtouch.c b/drivers/usb/speedtouch.c
--- a/drivers/usb/speedtouch.c  Wed Jun 18 17:36:11 2003
+++ b/drivers/usb/speedtouch.c  Wed Jun 18 17:36:11 2003
@@ -614,15 +614,14 @@
 static void udsl_fire_receivers (struct udsl_instance_data *instance)
 {
        struct list_head receivers, *pos, *n;
-       unsigned long flags;
 
        INIT_LIST_HEAD (&receivers);
 
        down (&instance->serialize);
 
-       spin_lock_irqsave (&instance->spare_receivers_lock, flags);
+       spin_lock_irq (&instance->spare_receivers_lock);
        list_splice_init (&instance->spare_receivers, &receivers);
-       spin_unlock_irqrestore (&instance->spare_receivers_lock, flags);
+       spin_unlock_irq (&instance->spare_receivers_lock);
 
        list_for_each_safe (pos, n, &receivers) {
                struct udsl_receiver *rcv = list_entry (pos, struct udsl_receiver, 
list);
@@ -640,9 +639,9 @@
 
                if (usb_submit_urb (rcv->urb) < 0) {
                        dbg ("udsl_fire_receivers: submit failed!");
-                       spin_lock_irqsave (&instance->spare_receivers_lock, flags);
+                       spin_lock_irq (&instance->spare_receivers_lock);
                        list_move (pos, &instance->spare_receivers);
-                       spin_unlock_irqrestore (&instance->spare_receivers_lock, 
flags);
+                       spin_unlock_irq (&instance->spare_receivers_lock);
                }
        }
 
@@ -785,11 +784,10 @@
 
 static void udsl_cancel_send (struct udsl_instance_data *instance, struct atm_vcc 
*vcc)
 {
-       unsigned long flags;
        struct sk_buff *skb, *n;
 
        dbg ("udsl_cancel_send entered");
-       spin_lock_irqsave (&instance->sndqueue.lock, flags);
+       spin_lock_irq (&instance->sndqueue.lock);
        for (skb = instance->sndqueue.next, n = skb->next; skb != (struct sk_buff 
*)&instance->sndqueue; skb = n, n = skb->next)
                if (UDSL_SKB (skb)->atm_data.vcc == vcc) {
                        dbg ("popping skb 0x%p", skb);
@@ -799,7 +797,7 @@
                        else
                                kfree_skb (skb);
                }
-       spin_unlock_irqrestore (&instance->sndqueue.lock, flags);
+       spin_unlock_irq (&instance->sndqueue.lock);
 
        tasklet_disable (&instance->send_tasklet);
        if ((skb = instance->current_skb) && (UDSL_SKB (skb)->atm_data.vcc == vcc)) {
@@ -1255,7 +1253,6 @@
 {
        struct udsl_instance_data *instance = ptr;
        struct list_head *pos;
-       unsigned long flags;
        unsigned int count = 0;
        int result, i;
 
@@ -1289,11 +1286,11 @@
        do {
                unsigned int completed = 0;
 
-               spin_lock_irqsave (&instance->completed_receivers_lock, flags);
+               spin_lock_irq (&instance->completed_receivers_lock);
                list_for_each (pos, &instance->completed_receivers)
                        if (++completed > count)
                                panic (__FILE__ ": memory corruption detected at line 
%d!\n", __LINE__);
-               spin_unlock_irqrestore (&instance->completed_receivers_lock, flags);
+               spin_unlock_irq (&instance->completed_receivers_lock);
 
                dbg ("udsl_usb_disconnect: found %u completed receivers", completed);
 
@@ -1329,11 +1326,11 @@
        /* wait for completion handlers to finish */
        do {
                count = 0;
-               spin_lock_irqsave (&instance->send_lock, flags);
+               spin_lock_irq (&instance->send_lock);
                list_for_each (pos, &instance->spare_senders)
                        if (++count > UDSL_NUM_SND_URBS)
                                panic (__FILE__ ": memory corruption detected at line 
%d!\n", __LINE__);
-               spin_unlock_irqrestore (&instance->send_lock, flags);
+               spin_unlock_irq (&instance->send_lock);
 
                dbg ("udsl_usb_disconnect: found %u spare senders", count);
 



-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to