summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorRon Mercer <ron.mercer@qlogic.com>2009-02-13 01:37:32 +0100
committerDavid S. Miller <davem@davemloft.net>2009-02-13 01:37:32 +0100
commitf2603c2c571978497019a50c4df84c185ffef356 (patch)
tree7f2620ee0e8b95748f92c692ab08837fdb1114d4 /drivers
parentqlge: bugfix: Fix fatal error recovery hang. (diff)
downloadlinux-f2603c2c571978497019a50c4df84c185ffef356.tar.xz
linux-f2603c2c571978497019a50c4df84c185ffef356.zip
qlge: bugfix: Add missing put_page() call.
We put the page back if we can't get mapping for it. We don't want unmapped buffers on our receive buffer queue. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/qlge/qlge_main.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index 69f7d057dd27..5b75fc9a26ba 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -907,6 +907,8 @@ static void ql_update_lbq(struct ql_adapter *qdev, struct rx_ring *rx_ring)
0, PAGE_SIZE,
PCI_DMA_FROMDEVICE);
if (pci_dma_mapping_error(qdev->pdev, map)) {
+ put_page(lbq_desc->p.lbq_page);
+ lbq_desc->p.lbq_page = NULL;
QPRINTK(qdev, RX_STATUS, ERR,
"PCI mapping failed.\n");
return;