Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a1f5313c authored by David S. Miller's avatar David S. Miller
Browse files

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: default avatarDavid S. Miller <davem@davemloft.net>
parents 6b798d70 f5eecbbe
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -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;