linux-stable/drivers/net/ethernet/marvell
Mikulas Patocka c194992cbe skge: fix broken driver
The patch 136d8f377e broke the skge driver.
Note this part of the patch:
+               if (skge_rx_setup(skge, e, nskb, skge->rx_buf_size) < 0) {
+                       dev_kfree_skb(nskb);
+                       goto resubmit;
+               }
+
                pci_unmap_single(skge->hw->pdev,
                                 dma_unmap_addr(e, mapaddr),
                                 dma_unmap_len(e, maplen),
                                 PCI_DMA_FROMDEVICE);
                skb = e->skb;
                prefetch(skb->data);
-               skge_rx_setup(skge, e, nskb, skge->rx_buf_size);

The function skge_rx_setup modifies e->skb to point to the new skb. Thus,
after this change, the new buffer, not the old, is returned to the
networking stack.

This bug is present in kernels 3.11, 3.11.1 and 3.12-rc1. The patch should
be queued for 3.11-stable.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Reported-by: Mikulas Patocka <mpatocka@redhat.com>
Reported-by: Vasiliy Glazov <vascom2@gmail.com>
Tested-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-09-19 14:15:15 -04:00
..
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-04-22 20:32:51 -04:00
Makefile mv643xx_eth: convert to use the Marvell Orion MDIO driver 2013-03-22 10:25:15 -04:00
mv643xx_eth.c net: mv643xx_eth: use dev_get_platdata() 2013-08-30 17:43:36 -04:00
mvmdio.c net: mvmdio: get and enable optional clock 2013-04-08 16:55:26 -04:00
mvneta.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-09-05 14:58:52 -04:00
pxa168_eth.c net: pxa168_eth: remove deprecated IRQF_DISABLED 2013-09-15 22:01:05 -04:00
skge.c skge: fix broken driver 2013-09-19 14:15:15 -04:00
skge.h
sky2.c net: pass info struct via netdevice notifier 2013-05-28 13:11:01 -07:00
sky2.h sky2: Receive Overflows not counted 2013-03-29 14:53:19 -04:00