diff options
author | Paul Mundt <lethal@linux-sh.org> | 2011-06-14 15:15:49 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-06-14 15:15:49 +0900 |
commit | 9aa7719e0c6a1580451900e672744752804f8f75 (patch) | |
tree | ba36c5536342db2759d0a1843dffd0c193e26ff0 /net/core/dev.c | |
parent | 583af252ab07cd1e8721878463da5b7016c18fdc (diff) | |
parent | 2c53b436a30867eb6b47dd7bab23ba638d1fb0d2 (diff) | |
download | blackbird-obmc-linux-9aa7719e0c6a1580451900e672744752804f8f75.tar.gz blackbird-obmc-linux-9aa7719e0c6a1580451900e672744752804f8f75.zip |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into sh-fixes-for-linus
Diffstat (limited to 'net/core/dev.c')
-rw-r--r-- | net/core/dev.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 939307891e71..9c58c1ec41a9 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3114,7 +3114,7 @@ static int __netif_receive_skb(struct sk_buff *skb) skb_reset_network_header(skb); skb_reset_transport_header(skb); - skb->mac_len = skb->network_header - skb->mac_header; + skb_reset_mac_len(skb); pt_prev = NULL; @@ -6178,6 +6178,11 @@ static int dev_cpu_callback(struct notifier_block *nfb, oldsd->output_queue = NULL; oldsd->output_queue_tailp = &oldsd->output_queue; } + /* Append NAPI poll list from offline CPU. */ + if (!list_empty(&oldsd->poll_list)) { + list_splice_init(&oldsd->poll_list, &sd->poll_list); + raise_softirq_irqoff(NET_RX_SOFTIRQ); + } raise_softirq_irqoff(NET_TX_SOFTIRQ); local_irq_enable(); @@ -6264,29 +6269,23 @@ err_name: /** * netdev_drivername - network driver for the device * @dev: network device - * @buffer: buffer for resulting name - * @len: size of buffer * * Determine network driver for device. */ -char *netdev_drivername(const struct net_device *dev, char *buffer, int len) +const char *netdev_drivername(const struct net_device *dev) { const struct device_driver *driver; const struct device *parent; - - if (len <= 0 || !buffer) - return buffer; - buffer[0] = 0; + const char *empty = ""; parent = dev->dev.parent; - if (!parent) - return buffer; + return empty; driver = parent->driver; if (driver && driver->name) - strlcpy(buffer, driver->name, len); - return buffer; + return driver->name; + return empty; } static int __netdev_printk(const char *level, const struct net_device *dev, |