This is a note to let you know that I've just added the patch titled

    via-rhine: Fix bugs in NAPI support.

to the 3.4-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     via-rhine-fix-bugs-in-napi-support.patch
and it can be found in the queue-3.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From 31de82cb7cb2396ffbe0d5a2879b6c381ad4e3ff Mon Sep 17 00:00:00 2001
From: "David S. Miller" <[email protected]>
Date: Tue, 29 Jan 2013 22:58:04 -0500
Subject: via-rhine: Fix bugs in NAPI support.


From: "David S. Miller" <[email protected]>

[ Upstream commit 559bcac35facfed49ab4f408e162971612dcfdf3 ]

1) rhine_tx() should use dev_kfree_skb() not dev_kfree_skb_irq()

2) rhine_slow_event_task's NAPI triggering logic is racey, it
   should just hit the interrupt mask register.  This is the
   same as commit 7dbb491878a2c51d372a8890fa45a8ff80358af1
   ("r8169: avoid NAPI scheduling delay.") made to fix the same
   problem in the r8169 driver.  From Francois Romieu.

Reported-by: Jamie Gloudon <[email protected]>
Tested-by: Jamie Gloudon <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 drivers/net/ethernet/via/via-rhine.c |    8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

--- a/drivers/net/ethernet/via/via-rhine.c
+++ b/drivers/net/ethernet/via/via-rhine.c
@@ -1802,7 +1802,7 @@ static void rhine_tx(struct net_device *
                                         rp->tx_skbuff[entry]->len,
                                         PCI_DMA_TODEVICE);
                }
-               dev_kfree_skb_irq(rp->tx_skbuff[entry]);
+               dev_kfree_skb(rp->tx_skbuff[entry]);
                rp->tx_skbuff[entry] = NULL;
                entry = (++rp->dirty_tx) % TX_RING_SIZE;
        }
@@ -2011,11 +2011,7 @@ static void rhine_slow_event_task(struct
        if (intr_status & IntrPCIErr)
                netif_warn(rp, hw, dev, "PCI error\n");
 
-       napi_disable(&rp->napi);
-       rhine_irq_disable(rp);
-       /* Slow and safe. Consider __napi_schedule as a replacement ? */
-       napi_enable(&rp->napi);
-       napi_schedule(&rp->napi);
+       iowrite16(RHINE_EVENT & 0xffff, rp->base + IntrEnable);
 
 out_unlock:
        mutex_unlock(&rp->task_lock);


Patches currently in stable-queue which might be from [email protected] are

queue-3.4/pktgen-correctly-handle-failures-when-adding-a-device.patch
queue-3.4/via-rhine-fix-bugs-in-napi-support.patch
queue-3.4/bridge-pull-ip-header-into-skb-data-before-looking-into-ip-header.patch
queue-3.4/xen-netback-don-t-leak-pages-on-failure-in-xen_netbk_tx_check_gop.patch
queue-3.4/tcp-frto-should-not-set-snd_cwnd-to-0.patch
queue-3.4/net-sctp-sctp_endpoint_free-zero-out-secret-key-data.patch
queue-3.4/net-sctp-sctp_setsockopt_auth_key-use-kzfree-instead-of-kfree.patch
queue-3.4/ipv6-fix-header-length-calculation-in-ip6_append_data.patch
queue-3.4/xen-netback-free-already-allocated-memory-on-failure-in-xen_netbk_get_requests.patch
queue-3.4/maintainers-stephen-hemminger-email-change.patch
queue-3.4/ipv6-fix-the-noflags-test-in-addrconf_get_prefix_route.patch
queue-3.4/tg3-fix-crc-errors-on-jumbo-frame-receive.patch
queue-3.4/tg3-avoid-null-pointer-dereference-in-tg3_interrupt-in-netconsole-mode.patch
queue-3.4/tcp-fix-for-zero-packets_in_flight-was-too-broad.patch
queue-3.4/net-prevent-setting-ttl-0-via-ip_ttl.patch
queue-3.4/netback-correct-netbk_tx_err-to-handle-wrap-around.patch
queue-3.4/ipv6-do-not-create-neighbor-entries-for-local-delivery.patch
queue-3.4/r8169-remove-the-obsolete-and-incorrect-amd-workaround.patch
queue-3.4/sctp-refactor-sctp_outq_teardown-to-insure-proper-re-initalization.patch
queue-3.4/xen-netback-shutdown-the-ring-if-it-contains-garbage.patch
queue-3.4/net-mlx4_core-set-number-of-msix-vectors-under-sriov-mode-to-firmware-defaults.patch
queue-3.4/net-calxedaxgmac-throw-away-overrun-frames.patch
queue-3.4/net-mlx4_en-fix-bridged-vswitch-configuration-for-non-sriov-mode.patch
queue-3.4/packet-fix-leakage-of-tx_ring-memory.patch
queue-3.4/netxen-fix-off-by-one-bug-in-netxen_release_tx_buffer.patch
queue-3.4/net-loopback-fix-a-dst-refcounting-issue.patch
queue-3.4/isdn-gigaset-fix-zero-size-border-case-in-debug-dump.patch
queue-3.4/atm-iphase-rename-fregt_t-ffreg_t.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to