The following commit has been merged in the linux branch: commit 4848490c50c5d46d4e9749fddc374c303823bcc4 Merge: d995053d045d777e78ba7eba71a6a0733f3aa726 845de8afa66550331dca164ab77fa49de930b699 Author: Linus Torvalds torvalds@linux-foundation.org Date: Fri Oct 23 07:34:23 2009 +0900
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits) niu: VLAN_ETH_HLEN should be used to make sure that the whole MAC header was copied to the head buffer in the Vlan packets case KS8851: Fix ks8851_set_rx_mode() for IFF_MULTICAST KS8851: Fix MAC address write order KS8851: Add soft reset at probe time net: fix section mismatch in fec.c net: Fix struct inet_timewait_sock bitfield annotation tcp: Try to catch MSG_PEEK bug net: Fix IP_MULTICAST_IF bluetooth: static lock key fix bluetooth: scheduling while atomic bug fix tcp: fix TCP_DEFER_ACCEPT retrans calculation tcp: reduce SYN-ACK retrans for TCP_DEFER_ACCEPT tcp: accept socket after TCP_DEFER_ACCEPT period Revert "tcp: fix tcp_defer_accept to consider the timeout" AF_UNIX: Fix deadlock on connecting to shutdown socket ethoc: clear only pending irqs ethoc: inline regs access vmxnet3: use dev_dbg, fix build for CONFIG_BLOCK=n virtio_net: use dev_kfree_skb_any() in free_old_xmit_skbs() be2net: fix support for PCI hot plug ...
diff --combined drivers/net/ethoc.c index 9c950bb,590473a..f7d9ac8 --- a/drivers/net/ethoc.c +++ b/drivers/net/ethoc.c @@@ -17,7 -17,6 +17,7 @@@ #include <linux/mii.h> #include <linux/phy.h> #include <linux/platform_device.h> +#include <linux/sched.h> #include <net/ethoc.h>
static int buffer_size = 0x8000; /* 32 KBytes */ @@@ -223,24 -222,25 +223,25 @@@ struct ethoc_bd u32 addr; };
- static u32 ethoc_read(struct ethoc *dev, loff_t offset) + static inline u32 ethoc_read(struct ethoc *dev, loff_t offset) { return ioread32(dev->iobase + offset); }
- static void ethoc_write(struct ethoc *dev, loff_t offset, u32 data) + static inline void ethoc_write(struct ethoc *dev, loff_t offset, u32 data) { iowrite32(data, dev->iobase + offset); }
- static void ethoc_read_bd(struct ethoc *dev, int index, struct ethoc_bd *bd) + static inline void ethoc_read_bd(struct ethoc *dev, int index, + struct ethoc_bd *bd) { loff_t offset = ETHOC_BD_BASE + (index * sizeof(struct ethoc_bd)); bd->stat = ethoc_read(dev, offset + 0); bd->addr = ethoc_read(dev, offset + 4); }
- static void ethoc_write_bd(struct ethoc *dev, int index, + static inline void ethoc_write_bd(struct ethoc *dev, int index, const struct ethoc_bd *bd) { loff_t offset = ETHOC_BD_BASE + (index * sizeof(struct ethoc_bd)); @@@ -248,33 -248,33 +249,33 @@@ ethoc_write(dev, offset + 4, bd->addr); }
- static void ethoc_enable_irq(struct ethoc *dev, u32 mask) + static inline void ethoc_enable_irq(struct ethoc *dev, u32 mask) { u32 imask = ethoc_read(dev, INT_MASK); imask |= mask; ethoc_write(dev, INT_MASK, imask); }
- static void ethoc_disable_irq(struct ethoc *dev, u32 mask) + static inline void ethoc_disable_irq(struct ethoc *dev, u32 mask) { u32 imask = ethoc_read(dev, INT_MASK); imask &= ~mask; ethoc_write(dev, INT_MASK, imask); }
- static void ethoc_ack_irq(struct ethoc *dev, u32 mask) + static inline void ethoc_ack_irq(struct ethoc *dev, u32 mask) { ethoc_write(dev, INT_SOURCE, mask); }
- static void ethoc_enable_rx_and_tx(struct ethoc *dev) + static inline void ethoc_enable_rx_and_tx(struct ethoc *dev) { u32 mode = ethoc_read(dev, MODER); mode |= MODER_RXEN | MODER_TXEN; ethoc_write(dev, MODER, mode); }
- static void ethoc_disable_rx_and_tx(struct ethoc *dev) + static inline void ethoc_disable_rx_and_tx(struct ethoc *dev) { u32 mode = ethoc_read(dev, MODER); mode &= ~(MODER_RXEN | MODER_TXEN); @@@ -508,7 -508,7 +509,7 @@@ static irqreturn_t ethoc_interrupt(int return IRQ_NONE; }
- ethoc_ack_irq(priv, INT_MASK_ALL); + ethoc_ack_irq(priv, pending);
if (pending & INT_MASK_BUSY) { dev_err(&dev->dev, "packet dropped\n");