Marco Atzeri <[EMAIL PROTECTED]> :
[...]
> I see that from 1469 and over the ASUS do not recognize the ping request

The patch below is yucky at will but I am really curious to know what
the device has really received. Add a "-" in front of the file in the
/etc/syslogd.conf record for the kernel messages to keep the disks quiet.

Pass 'debug=16' as an option to the module and send the whole syslogd
output after the test: I'd really appreciate the usual log for
ping -c 1 -s 1467, 1468, 1469 1470 as well as the _raw_ tcpdump/tethereal
dump on both side (ie 'tethereal -F libpcap -w /tmp/foo icmp or arp or not ip'
and 'tcpdump -s 0 -w /tmp/bar icmp or arp or not ip').

diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c
index 478791e..27ec380 100644
--- a/drivers/net/sis190.c
+++ b/drivers/net/sis190.c
@@ -495,7 +495,7 @@ static int sis190_alloc_rx_skb(struct pc
 {
        struct sk_buff *skb;
        dma_addr_t mapping;
-       int ret = 0;
+       int i, ret = 0;
 
        skb = dev_alloc_skb(rx_buf_sz);
        if (!skb)
@@ -503,6 +503,9 @@ static int sis190_alloc_rx_skb(struct pc
 
        *sk_buff = skb;
 
+       for (i = 0; i < rx_buf_sz; i++)
+               skb->data[i] = 0xa5;
+
        mapping = pci_map_single(pdev, skb->data, rx_buf_sz,
                                 PCI_DMA_FROMDEVICE);
 
@@ -595,8 +598,8 @@ static int sis190_rx_interrupt(struct ne
 
                status = le32_to_cpu(desc->PSize);
 
-               // net_intr(tp, KERN_INFO "%s: Rx PSize = %08x.\n", dev->name,
-               //       status);
+               net_intr(tp, KERN_INFO "%s: Rx PSize = %08x.\n", dev->name,
+                        status);
 
                if (sis190_rx_pkt_err(status, stats) < 0)
                        sis190_give_to_asic(desc, tp->rx_buf_sz);
@@ -629,7 +632,22 @@ static int sis190_rx_interrupt(struct ne
 
                        pci_action(tp->pci_dev, le32_to_cpu(desc->addr),
                                   tp->rx_buf_sz, PCI_DMA_FROMDEVICE);
+{
+       char quuz[90], *p;
+       unsigned int i;
 
+       for (i = 0, p = quuz; i < tp->rx_buf_sz; i++) {
+               p += sprintf(p, "%02x", skb->data[i]);
+               if (!((i+1)%40)) {
+                       *p = '\0';
+                       printk(KERN_INFO "%s\n", quuz);
+                       p = quuz;
+               }
+       }
+       *p = '\0';
+       printk(KERN_INFO "%s\n\n", quuz);
+               
+}
                        skb->dev = dev;
                        skb_put(skb, pkt_size);
                        skb->protocol = eth_type_trans(skb, dev);
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to