-
PLACA PCI ENCORE
Apos fazer o download do arquivo ENL832-TX-ICNT.zip, alterei o arquivo sundance_main.c conforme segue:
*** sundance_main.c.orig 2006-01-24 18:16:11.000000000 -0200
--- sundance_main.c 2006-01-24 18:35:36.000000000 -0200
***************
*** 1397,1405 ****
if (netif_msg_rx_status(np))
printk(KERN_DEBUG " netdev_rx() status was %8.8x.\n",
frame_status);
! pci_dma_sync_single(np->pci_dev, desc->frag[0].addr,
np->rx_buf_sz, PCI_DMA_FROMDEVICE);
!
if (frame_status & 0x001f4000) {
/* There was a error. */
if (netif_msg_rx_err(np))
--- 1397,1405 ----
if (netif_msg_rx_status(np))
printk(KERN_DEBUG " netdev_rx() status was %8.8x.\n",
frame_status);
! /* pci_dma_sync_single(np->pci_dev, desc->frag[0].addr,
np->rx_buf_sz, PCI_DMA_FROMDEVICE);
! */
if (frame_status & 0x001f4000) {
/* There was a error. */
if (netif_msg_rx_err(np))
***************
*** 1429,1435 ****
--- 1429,1444 ----
&& (skb = dev_alloc_skb(pkt_len + 2)) != NULL) {
skb->dev = dev;
skb_reserve(skb, 2); /* 16 byte align the IP header */
+ pci_dma_sync_single_for_cpu(np->pci_dev,
+ desc->frag[0].addr,
+ np->rx_buf_sz,
+ PCI_DMA_FROMDEVICE);
+
eth_copy_and_sum(skb, np->rx_skbuff[entry]->tail, pkt_len, 0);
+ pci_dma_sync_single_for_device(np->pci_dev,
+ desc->frag[0].addr,
+ np->rx_buf_sz,
+ PCI_DMA_FROMDEVICE);
skb_put(skb, pkt_len);
} else {
pci_unmap_single(np->pci_dev,
Apos isso compilei novamente o modulo, e funcionou normalmente....