atl1: print debug info if rrd error
authorJay Cliburn <jacliburn@bellsouth.net>
Sun, 3 Feb 2008 01:50:10 +0000 (19:50 -0600)
committerJeff Garzik <jeff@garzik.org>
Mon, 17 Mar 2008 11:49:25 +0000 (07:49 -0400)
Add some debug printks if we encounter a potentially bad receive
return descriptor.

Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net>
Acked-by: Chris Snook <csnook@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/atlx/atl1.c

index 51eca233e1f1891eb03cc07c8281d9467fb17906..4e4cb23c18364cf8d1990e8c3a0c0235c213aca6 100644 (file)
@@ -1144,14 +1144,32 @@ chk_rrd:
                        /* check rrd status */
                        if (likely(rrd->num_buf == 1))
                                goto rrd_ok;
+                       else if (netif_msg_rx_err(adapter)) {
+                               dev_printk(KERN_DEBUG, &adapter->pdev->dev,
+                                       "unexpected RRD buffer count\n");
+                               dev_printk(KERN_DEBUG, &adapter->pdev->dev,
+                                       "rx_buf_len = %d\n",
+                                       adapter->rx_buffer_len);
+                               dev_printk(KERN_DEBUG, &adapter->pdev->dev,
+                                       "RRD num_buf = %d\n",
+                                       rrd->num_buf);
+                               dev_printk(KERN_DEBUG, &adapter->pdev->dev,
+                                       "RRD pkt_len = %d\n",
+                                       rrd->xsz.xsum_sz.pkt_size);
+                               dev_printk(KERN_DEBUG, &adapter->pdev->dev,
+                                       "RRD pkt_flg = 0x%08X\n",
+                                       rrd->pkt_flg);
+                               dev_printk(KERN_DEBUG, &adapter->pdev->dev,
+                                       "RRD err_flg = 0x%08X\n",
+                                       rrd->err_flg);
+                               dev_printk(KERN_DEBUG, &adapter->pdev->dev,
+                                       "RRD vlan_tag = 0x%08X\n",
+                                       rrd->vlan_tag);
+                       }
 
                        /* rrd seems to be bad */
                        if (unlikely(i-- > 0)) {
                                /* rrd may not be DMAed completely */
-                               if (netif_msg_rx_err(adapter))
-                                       dev_printk(KERN_DEBUG,
-                                               &adapter->pdev->dev,
-                                               "unexpected RRD count\n");
                                udelay(1);
                                goto chk_rrd;
                        }