net: systemport: check harder for out of memory conditions
authorFlorian Fainelli <f.fainelli@gmail.com>
Mon, 8 Sep 2014 18:37:51 +0000 (11:37 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Sep 2014 23:02:49 +0000 (16:02 -0700)
commitfe24ba082b8483c81f546d24e40a55624295b85d
tree8beda3a9ad3031dac7a4d85e07950e3b9df8fc9a
parent278d436a476f69fc95d5c82bf61b6c2d02f4d44e
net: systemport: check harder for out of memory conditions

There is a potential case where we might be failing to refill a
control block, leaving it with both a NULL skb pointer *and* a NULL
dma_unmap_addr.

The way we process incoming packets, by first calling
dma_unmap_single(), and then only checking for a potential NULL skb can
lead to situations where do pass a NULL dma_unmap_addr() to
dma_unmap_single(), resulting in an oops.

Fix this my moving the NULL skb check earlier, since no backing skb
also means no corresponding DMA mapping for this packet.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bcmsysport.c