Re: D-Link DFE-580TX and snmpd problems, who's maintainer of sundance.c ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Volker Sauer <[email protected]> :
[...]
> I'm neither a skilled C-programmer nor a kernel-expert, but looking at
> drivers/net/sundance.c:1605 I see, that SIOCDEVPRIVATE does
> nothing else then printing this debug message.

Yuck.

> So the questions is: why? What is this good for?
> And: can I remove it? I can not abandon snmpd and the messages spam my
> syslog.
> Or: do I have to patch snmpd?

Please try the attached patch.

[...]
> P.S.: there's no one in the MAINTAINERS file for sundance.c. Is someone
> here who still cares about this driver?

Please Cc: [email protected] on further replies, thanks.

-- 
Ueimor
>From 27ad88dda586b28327e2e1e95e3a46986d30e0c7 Mon Sep 17 00:00:00 2001
From: Francois Romieu <[email protected]>
Date: Wed, 24 Oct 2007 23:35:51 +0200
Subject: [PATCH] sundance: SIOCDEVPRIVATE pollution

To quote one of my favorite contemporary author:
[include/linux/sockios.h]
 *      THESE IOCTLS ARE _DEPRECATED_ AND WILL DISAPPEAR IN 2.5.X -DaveM
 */

#define SIOCDEVPRIVATE  0x89F0  /* to 89FF */

[...]

Gentoo's snmpd trips up over this code when trying to figure if the
driver supports the non-SIOCDEVPRIVATE API or not. One can argue over
its choice of heuristic but there no reason to make ioctl more ugly
than needed.

Signed-off-by: Francois Romieu <[email protected]>
Cc: Jesse Huang <[email protected]>
Tester-Cc: Volker Sauer <[email protected]>
---
 drivers/net/sundance.c |   26 --------------------------
 1 files changed, 0 insertions(+), 26 deletions(-)

diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c
index ff98f5d..f12e727 100644
--- a/drivers/net/sundance.c
+++ b/drivers/net/sundance.c
@@ -1596,9 +1596,7 @@ static const struct ethtool_ops ethtool_ops = {
 static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
 {
 	struct netdev_private *np = netdev_priv(dev);
-	void __iomem *ioaddr = np->base;
 	int rc;
-	int i;
 
 	if (!netif_running(dev))
 		return -EINVAL;
@@ -1606,30 +1604,6 @@ static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
 	spin_lock_irq(&np->lock);
 	rc = generic_mii_ioctl(&np->mii_if, if_mii(rq), cmd, NULL);
 	spin_unlock_irq(&np->lock);
-	switch (cmd) {
-		case SIOCDEVPRIVATE:
-		for (i=0; i<TX_RING_SIZE; i++) {
-			printk(KERN_DEBUG "%02x %08llx %08x %08x(%02x) %08x %08x\n", i,
-				(unsigned long long)(np->tx_ring_dma + i*sizeof(*np->tx_ring)),
-				le32_to_cpu(np->tx_ring[i].next_desc),
-				le32_to_cpu(np->tx_ring[i].status),
-				(le32_to_cpu(np->tx_ring[i].status) >> 2)
-					& 0xff,
-				le32_to_cpu(np->tx_ring[i].frag[0].addr),
-				le32_to_cpu(np->tx_ring[i].frag[0].length));
-		}
-		printk(KERN_DEBUG "TxListPtr=%08x netif_queue_stopped=%d\n",
-			ioread32(np->base + TxListPtr),
-			netif_queue_stopped(dev));
-		printk(KERN_DEBUG "cur_tx=%d(%02x) dirty_tx=%d(%02x)\n",
-			np->cur_tx, np->cur_tx % TX_RING_SIZE,
-			np->dirty_tx, np->dirty_tx % TX_RING_SIZE);
-		printk(KERN_DEBUG "cur_rx=%d dirty_rx=%d\n", np->cur_rx, np->dirty_rx);
-		printk(KERN_DEBUG "cur_task=%d\n", np->cur_task);
-		printk(KERN_DEBUG "TxStatus=%04x\n", ioread16(ioaddr + TxStatus));
-			return 0;
-	}
-
 
 	return rc;
 }
-- 
1.5.2.4


[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux