summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuinn Jensen <quinn.jensen@freescale.com>2007-05-24 18:10:37 -0600
committerQuinn Jensen <quinn.jensen@freescale.com>2007-05-24 18:10:37 -0600
commitd022478aae34d1389393b8308ece7d5dbd767557 (patch)
tree3d0345481b6dd023930fdc27564d0395ae5b42f7
parent9b91f487fa6b8d470a786cee7da61bc2300ad193 (diff)
CR ENGR00028231: Remove workaround for FIR tx SDMA script issue
Description: Earlier SDMA script (before SS09) had problems with transmit packets if the length in bytes given to it was not a multiple of 4. For this reason, the workaround was to set the length of the packet on the transmit side to the immediate next multiple of 4. This workaround can now be removed as the new SDMA script takes care of this. http://www.bitshrine.org/gpp/linux-2.6.19.2-mx-remove_fir_tx_sdma_workaround.patch
-rw-r--r--drivers/net/irda/mxc_ir.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/net/irda/mxc_ir.c b/drivers/net/irda/mxc_ir.c
index 763c0f0bf064..3c932d717d08 100644
--- a/drivers/net/irda/mxc_ir.c
+++ b/drivers/net/irda/mxc_ir.c
@@ -908,15 +908,12 @@ static int mxc_irda_hard_xmit(struct sk_buff *skb, struct net_device *dev)
} else {
unsigned int mtt = irda_get_mtt(skb);
unsigned char *p = skb->data;
- unsigned int skb_len = skb->len;
#ifdef FIRI_SDMA_TX
mxc_dma_requestbuf_t dma_request;
#else
unsigned int i, sr;
#endif
- skb_len = skb_len + ((4 - (skb_len % 4)) % 4);
-
if (si->txskb) {
BUG();
}
@@ -943,11 +940,11 @@ static int mxc_irda_hard_xmit(struct sk_buff *skb, struct net_device *dev)
* Number of bytes in SK buffer to transfer and Transfer complete
* callback function.
*/
- si->dma_tx_buff_len = skb_len;
+ si->dma_tx_buff_len = skb->len;
si->dma_tx_buff_phy =
- dma_map_single(si->dev, p, skb_len, DMA_TO_DEVICE);
+ dma_map_single(si->dev, p, skb->len, DMA_TO_DEVICE);
- dma_request.num_of_bytes = skb_len;
+ dma_request.num_of_bytes = skb->len;
dma_request.dst_addr = si->firi_res->start + FIRITXFIFO;
dma_request.src_addr = si->dma_tx_buff_phy;