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>
This commit is contained in:
commit
a1f5313cc4
|
@ -1369,9 +1369,6 @@ static int xgbe_close(struct net_device *netdev)
|
|||
/* Free the ring descriptors and buffers */
|
||||
desc_if->free_ring_resources(pdata);
|
||||
|
||||
/* Free the channel and ring structures */
|
||||
xgbe_free_channels(pdata);
|
||||
|
||||
/* Release the interrupts */
|
||||
devm_free_irq(pdata->dev, pdata->dev_irq, pdata);
|
||||
if (pdata->per_channel_irq) {
|
||||
|
@ -1380,6 +1377,9 @@ static int xgbe_close(struct net_device *netdev)
|
|||
devm_free_irq(pdata->dev, channel->dma_irq, channel);
|
||||
}
|
||||
|
||||
/* Free the channel and ring structures */
|
||||
xgbe_free_channels(pdata);
|
||||
|
||||
/* Disable the clocks */
|
||||
clk_disable_unprepare(pdata->ptpclk);
|
||||
clk_disable_unprepare(pdata->sysclk);
|
||||
|
@ -1908,7 +1908,7 @@ static int xgbe_rx_poll(struct xgbe_channel *channel, int budget)
|
|||
skb = xgbe_create_skb(pdata, rdata, &put_len);
|
||||
if (!skb) {
|
||||
error = 1;
|
||||
goto read_again;
|
||||
goto skip_data;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1926,10 +1926,10 @@ static int xgbe_rx_poll(struct xgbe_channel *channel, int budget)
|
|||
}
|
||||
}
|
||||
|
||||
skip_data:
|
||||
if (incomplete || context_next)
|
||||
goto read_again;
|
||||
|
||||
/* Stray Context Descriptor? */
|
||||
if (!skb)
|
||||
goto next_packet;
|
||||
|
||||
|
|
Loading…
Reference in New Issue