lkml.org 
[lkml]   [2003]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 05/14] USB speedtouch: spin_lock_irqsave -> spin_lock_irq in process context
    Date
    Replace spin_lock_irqsave/spin_unlock_irqrestore with
    spin_lock_irq/spin_unlock_irq in routines that are only
    called in process context.

    speedtch.c | 23 ++++++++++-------------
    1 files changed, 10 insertions(+), 13 deletions(-)


    diff -Nru a/drivers/usb/misc/speedtch.c b/drivers/usb/misc/speedtch.c
    --- a/drivers/usb/misc/speedtch.c Wed May 21 00:40:22 2003
    +++ b/drivers/usb/misc/speedtch.c Wed May 21 00:40:22 2003
    @@ -613,15 +613,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);
    @@ -638,9 +637,9 @@

    if (usb_submit_urb (rcv->urb, GFP_KERNEL) < 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);
    }
    }

    @@ -782,11 +781,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);
    @@ -796,7 +794,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)) {
    @@ -1252,7 +1250,6 @@
    {
    struct udsl_instance_data *instance = usb_get_intfdata (intf);
    struct list_head *pos;
    - unsigned long flags;
    unsigned int count = 0;
    int result, i;

    @@ -1288,11 +1285,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);

    @@ -1328,11 +1325,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);

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:35    [W:0.031 / U:0.884 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site