Commit bb5f133d authored by Sakari Ailus's avatar Sakari Ailus Committed by David S. Miller

tlan: Fix pci memory unmapping

Fix pci unmapping problem introduced by commit id
8953f128 "tlan: Fix small (< 64 bytes)
datagram transmissions".
Signed-off-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2c413a64
...@@ -1433,7 +1433,9 @@ static u32 TLan_HandleTxEOF( struct net_device *dev, u16 host_int ) ...@@ -1433,7 +1433,9 @@ static u32 TLan_HandleTxEOF( struct net_device *dev, u16 host_int )
if ( ! bbuf ) { if ( ! bbuf ) {
struct sk_buff *skb = TLan_GetSKB(head_list); struct sk_buff *skb = TLan_GetSKB(head_list);
pci_unmap_single(priv->pciDev, head_list->buffer[0].address, pci_unmap_single(priv->pciDev, head_list->buffer[0].address,
skb->len, PCI_DMA_TODEVICE); max(skb->len,
(unsigned int)TLAN_MIN_FRAME_SIZE),
PCI_DMA_TODEVICE);
dev_kfree_skb_any(skb); dev_kfree_skb_any(skb);
head_list->buffer[8].address = 0; head_list->buffer[8].address = 0;
head_list->buffer[9].address = 0; head_list->buffer[9].address = 0;
...@@ -2057,9 +2059,12 @@ static void TLan_FreeLists( struct net_device *dev ) ...@@ -2057,9 +2059,12 @@ static void TLan_FreeLists( struct net_device *dev )
list = priv->txList + i; list = priv->txList + i;
skb = TLan_GetSKB(list); skb = TLan_GetSKB(list);
if ( skb ) { if ( skb ) {
pci_unmap_single(priv->pciDev, pci_unmap_single(
list->buffer[0].address, skb->len, priv->pciDev,
PCI_DMA_TODEVICE); list->buffer[0].address,
max(skb->len,
(unsigned int)TLAN_MIN_FRAME_SIZE),
PCI_DMA_TODEVICE);
dev_kfree_skb_any( skb ); dev_kfree_skb_any( skb );
list->buffer[8].address = 0; list->buffer[8].address = 0;
list->buffer[9].address = 0; list->buffer[9].address = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment