ucc_geth: Fix arguments to dma map/unmap functions
We were passing NULL as the device. When we actually start supporting more interesting memory configurations, this will break things, so we proactively are fixing the bug. Signed-off-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
committed by
Jeff Garzik
parent
940608be2e
commit
7f80202bb9
@ -237,7 +237,7 @@ static struct sk_buff *get_new_skb(struct ucc_geth_private *ugeth,
|
|||||||
skb->dev = ugeth->dev;
|
skb->dev = ugeth->dev;
|
||||||
|
|
||||||
out_be32(&((struct qe_bd __iomem *)bd)->buf,
|
out_be32(&((struct qe_bd __iomem *)bd)->buf,
|
||||||
dma_map_single(NULL,
|
dma_map_single(&ugeth->dev->dev,
|
||||||
skb->data,
|
skb->data,
|
||||||
ugeth->ug_info->uf_info.max_rx_buf_length +
|
ugeth->ug_info->uf_info.max_rx_buf_length +
|
||||||
UCC_GETH_RX_DATA_BUF_ALIGNMENT,
|
UCC_GETH_RX_DATA_BUF_ALIGNMENT,
|
||||||
@ -2158,7 +2158,7 @@ static void ucc_geth_memclean(struct ucc_geth_private *ugeth)
|
|||||||
continue;
|
continue;
|
||||||
for (j = 0; j < ugeth->ug_info->bdRingLenTx[i]; j++) {
|
for (j = 0; j < ugeth->ug_info->bdRingLenTx[i]; j++) {
|
||||||
if (ugeth->tx_skbuff[i][j]) {
|
if (ugeth->tx_skbuff[i][j]) {
|
||||||
dma_unmap_single(NULL,
|
dma_unmap_single(&ugeth->dev->dev,
|
||||||
in_be32(&((struct qe_bd __iomem *)bd)->buf),
|
in_be32(&((struct qe_bd __iomem *)bd)->buf),
|
||||||
(in_be32((u32 __iomem *)bd) &
|
(in_be32((u32 __iomem *)bd) &
|
||||||
BD_LENGTH_MASK),
|
BD_LENGTH_MASK),
|
||||||
@ -2186,7 +2186,7 @@ static void ucc_geth_memclean(struct ucc_geth_private *ugeth)
|
|||||||
bd = ugeth->p_rx_bd_ring[i];
|
bd = ugeth->p_rx_bd_ring[i];
|
||||||
for (j = 0; j < ugeth->ug_info->bdRingLenRx[i]; j++) {
|
for (j = 0; j < ugeth->ug_info->bdRingLenRx[i]; j++) {
|
||||||
if (ugeth->rx_skbuff[i][j]) {
|
if (ugeth->rx_skbuff[i][j]) {
|
||||||
dma_unmap_single(NULL,
|
dma_unmap_single(&ugeth->dev->dev,
|
||||||
in_be32(&((struct qe_bd __iomem *)bd)->buf),
|
in_be32(&((struct qe_bd __iomem *)bd)->buf),
|
||||||
ugeth->ug_info->
|
ugeth->ug_info->
|
||||||
uf_info.max_rx_buf_length +
|
uf_info.max_rx_buf_length +
|
||||||
@ -3406,7 +3406,8 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||||||
|
|
||||||
/* set up the buffer descriptor */
|
/* set up the buffer descriptor */
|
||||||
out_be32(&((struct qe_bd __iomem *)bd)->buf,
|
out_be32(&((struct qe_bd __iomem *)bd)->buf,
|
||||||
dma_map_single(NULL, skb->data, skb->len, DMA_TO_DEVICE));
|
dma_map_single(&ugeth->dev->dev, skb->data,
|
||||||
|
skb->len, DMA_TO_DEVICE));
|
||||||
|
|
||||||
/* printk(KERN_DEBUG"skb->data is 0x%x\n",skb->data); */
|
/* printk(KERN_DEBUG"skb->data is 0x%x\n",skb->data); */
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user