[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1259762466.32171.159.camel@johannes.local>
Date: Wed, 02 Dec 2009 15:01:06 +0100
From: Johannes Berg <johannes@...solutions.net>
To: netdev <netdev@...r.kernel.org>
Cc: Matt Carlson <mcarlson@...adcom.com>,
Michael Chan <mchan@...adcom.com>
Subject: tg3: not checking dma errors?
I'm having some trouble with tg3 under memory pressure when it's
receiving lots of data, and so far this is the only thing I could find
-- unfortunately I can't capture the debug information on the machine --
netconsole obviously doesn't work, there's no serial and the output
doesn't fit on the screen...
So I figured I'd look at the code, and now I think there could be a bug
with mappings:
tg3_alloc_rx_skb:
...
mapping = pci_map_single(tp->pdev, skb->data, skb_size,
PCI_DMA_FROMDEVICE);
map->skb = skb;
pci_unmap_addr_set(map, mapping, mapping);
if (src_map != NULL)
src_map->skb = NULL;
desc->addr_hi = ((u64)mapping >> 32);
desc->addr_lo = ((u64)mapping & 0xffffffff);
return skb_size;
Shouldn't that check that 'mapping' is != DMA_ERROR_CODE?
Similarly in tg3_run_loopback()?
johannes
Download attachment "signature.asc" of type "application/pgp-signature" (802 bytes)
Powered by blists - more mailing lists