[CHECKER] 1 potential double unlock error

From: Junfeng Yang (yjf@stanford.edu)
Date: Sun Mar 23 2003 - 19:29:19 EST


It's in net/3c505.c. Please help us to confirm or clarify. Thanks.

Junfeng

[BUG] if timeouts, will double unlock

/home/junfeng/linux-2.5.63/drivers/net/3c505.c:467:send_pcb:
ERROR:LOCK:432:467:double unlock &(*adapter).lock[TRANS: &(*adapter).lock,
locked->unlocked, /home/junfeng/linux-2.5.63/drivers/net/3c505.c,
send_pcb, 446]

        set_hsf(dev, 0);

        if (send_pcb_slow(dev->base_addr, pcb->command))
                goto abort;

Start --->
        spin_lock_irqsave(&adapter->lock, flags);

        ... DELETED 29 lines ...

        if (elp_debug >= 1)
                printk("%s: timeout waiting for PCB acknowledge (status
%02x)\n", dev->name, inb_status(dev->base_addr));

      sti_abort:
Error --->
        spin_unlock_irqrestore(&adapter->lock, flags);
      abort:
        adapter->send_pcb_semaphore = 0;
        return FALSE;

-
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/



This archive was generated by hypermail 2b29 : Sun Mar 23 2003 - 22:00:46 EST