Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'amd-xgbe-next'

Tom Lendacky says:

====================
amd-xgbe: AMD XGBE driver updates 2014-11-06

The following series of patches fixes a couple of bugs that slipped
through my last series.

- Free channel structure after freeing the per channel interrupts
- If an skb error allocation occurs during receive processing check
whether more descriptors are associated with the packet or whether
to start on a new packet

This patch series is based on net-next.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

+5 -5
+5 -5
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
··· 1369 1369 /* Free the ring descriptors and buffers */ 1370 1370 desc_if->free_ring_resources(pdata); 1371 1371 1372 - /* Free the channel and ring structures */ 1373 - xgbe_free_channels(pdata); 1374 - 1375 1372 /* Release the interrupts */ 1376 1373 devm_free_irq(pdata->dev, pdata->dev_irq, pdata); 1377 1374 if (pdata->per_channel_irq) { ··· 1376 1379 for (i = 0; i < pdata->channel_count; i++, channel++) 1377 1380 devm_free_irq(pdata->dev, channel->dma_irq, channel); 1378 1381 } 1382 + 1383 + /* Free the channel and ring structures */ 1384 + xgbe_free_channels(pdata); 1379 1385 1380 1386 /* Disable the clocks */ 1381 1387 clk_disable_unprepare(pdata->ptpclk); ··· 1908 1908 skb = xgbe_create_skb(pdata, rdata, &put_len); 1909 1909 if (!skb) { 1910 1910 error = 1; 1911 - goto read_again; 1911 + goto skip_data; 1912 1912 } 1913 1913 } 1914 1914 ··· 1926 1926 } 1927 1927 } 1928 1928 1929 + skip_data: 1929 1930 if (incomplete || context_next) 1930 1931 goto read_again; 1931 1932 1932 - /* Stray Context Descriptor? */ 1933 1933 if (!skb) 1934 1934 goto next_packet; 1935 1935