-
Mikulas Patocka authored
The patch 136d8f37 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>
c194992c