[PATCH] email change for shemminger@osdl.org
[sfrench/cifs-2.6.git] / drivers / net / skge.c
index b60f0451f6cdaddff325b599ae5f37e85a6e5c4e..45283f3f95e4a345e4c769d2181432c0deba0082 100644 (file)
@@ -60,7 +60,7 @@
 #define LINK_HZ                        (HZ/2)
 
 MODULE_DESCRIPTION("SysKonnect Gigabit Ethernet driver");
-MODULE_AUTHOR("Stephen Hemminger <shemminger@osdl.org>");
+MODULE_AUTHOR("Stephen Hemminger <shemminger@linux-foundation.org>");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(DRV_VERSION);
 
@@ -749,7 +749,7 @@ static int skge_ring_alloc(struct skge_ring *ring, void *vaddr, u32 base)
        struct skge_element *e;
        int i;
 
-       ring->start = kcalloc(sizeof(*e), ring->count, GFP_KERNEL);
+       ring->start = kcalloc(ring->count, sizeof(*e), GFP_KERNEL);
        if (!ring->start)
                return -ENOMEM;
 
@@ -2920,6 +2920,7 @@ static int skge_poll(struct net_device *dev, int *budget)
        struct skge_hw *hw = skge->hw;
        struct skge_ring *ring = &skge->rx_ring;
        struct skge_element *e;
+       unsigned long flags;
        int to_do = min(dev->quota, *budget);
        int work_done = 0;
 
@@ -2957,12 +2958,12 @@ static int skge_poll(struct net_device *dev, int *budget)
        if (work_done >=  to_do)
                return 1; /* not done */
 
-       spin_lock_irq(&hw->hw_lock);
+       spin_lock_irqsave(&hw->hw_lock, flags);
        __netif_rx_complete(dev);
        hw->intr_mask |= irqmask[skge->port];
        skge_write32(hw, B0_IMSK, hw->intr_mask);
        skge_read32(hw, B0_IMSK);
-       spin_unlock_irq(&hw->hw_lock);
+       spin_unlock_irqrestore(&hw->hw_lock, flags);
 
        return 0;
 }