From: Al Viro Date: Thu, 27 Dec 2007 06:57:47 +0000 (-0500) Subject: ipw2200: ipw_tx_skb() endianness bug X-Git-Tag: v2.6.25-rc1~1162^2~203 X-Git-Url: http://pilppa.org/gitweb/?a=commitdiff_plain;h=4958730e2b4e10d29aa80574a848308ed95f508f;p=linux-2.6-omap-h63xx.git ipw2200: ipw_tx_skb() endianness bug We'd just set tfd->u.data.chunk_len[i] to cpu_to_le16(remaining_bytes); passing it to pci_map_single() is a bad idea - it expects host-endian. Signed-off-by: Al Viro Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index c0591bda017..7c45ba53f37 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c @@ -10341,7 +10341,7 @@ static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb, tfd->u.data.chunk_ptr[i] = cpu_to_le32(pci_map_single (priv->pci_dev, skb->data, - tfd->u.data.chunk_len[i], + remaining_bytes, PCI_DMA_TODEVICE)); tfd->u.data.num_chunks =