diff options
author | Wang Chen <wangchen@cn.fujitsu.com> | 2008-07-22 01:13:18 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-07-22 16:09:09 -0400 |
commit | b57f9cae8724e4822fedfcc12530f868dcf6ea94 (patch) | |
tree | 310ec9c09017bfffc655ec97ae63d692d3f5cd31 | |
parent | 2b4ff112a0b3fe90de561a77f2e66000c028ca54 (diff) |
de4x5: Remove developer debug feature about set/clear promisc
IFF_PROMISC flag shouldn't be set or cleared by drivers, because
whether device be promisc mode is decided by how many upper layer
callers being referenced to it.
And the promisc changing feature of de4x5 ioctl is developer debug
feature, we can remove it now.
Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Acked-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r-- | drivers/net/tulip/de4x5.c | 16 | ||||
-rw-r--r-- | drivers/net/tulip/de4x5.h | 3 |
2 files changed, 1 insertions, 18 deletions
diff --git a/drivers/net/tulip/de4x5.c b/drivers/net/tulip/de4x5.c index bc30c6e8fea2..617ef41bdfea 100644 --- a/drivers/net/tulip/de4x5.c +++ b/drivers/net/tulip/de4x5.c | |||
@@ -5514,22 +5514,6 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | |||
5514 | netif_wake_queue(dev); /* Unlock the TX ring */ | 5514 | netif_wake_queue(dev); /* Unlock the TX ring */ |
5515 | break; | 5515 | break; |
5516 | 5516 | ||
5517 | case DE4X5_SET_PROM: /* Set Promiscuous Mode */ | ||
5518 | if (!capable(CAP_NET_ADMIN)) return -EPERM; | ||
5519 | omr = inl(DE4X5_OMR); | ||
5520 | omr |= OMR_PR; | ||
5521 | outl(omr, DE4X5_OMR); | ||
5522 | dev->flags |= IFF_PROMISC; | ||
5523 | break; | ||
5524 | |||
5525 | case DE4X5_CLR_PROM: /* Clear Promiscuous Mode */ | ||
5526 | if (!capable(CAP_NET_ADMIN)) return -EPERM; | ||
5527 | omr = inl(DE4X5_OMR); | ||
5528 | omr &= ~OMR_PR; | ||
5529 | outl(omr, DE4X5_OMR); | ||
5530 | dev->flags &= ~IFF_PROMISC; | ||
5531 | break; | ||
5532 | |||
5533 | case DE4X5_SAY_BOO: /* Say "Boo!" to the kernel log file */ | 5517 | case DE4X5_SAY_BOO: /* Say "Boo!" to the kernel log file */ |
5534 | if (!capable(CAP_NET_ADMIN)) return -EPERM; | 5518 | if (!capable(CAP_NET_ADMIN)) return -EPERM; |
5535 | printk("%s: Boo!\n", dev->name); | 5519 | printk("%s: Boo!\n", dev->name); |
diff --git a/drivers/net/tulip/de4x5.h b/drivers/net/tulip/de4x5.h index f5f33b3eb067..9f2877438fb0 100644 --- a/drivers/net/tulip/de4x5.h +++ b/drivers/net/tulip/de4x5.h | |||
@@ -1004,8 +1004,7 @@ struct de4x5_ioctl { | |||
1004 | */ | 1004 | */ |
1005 | #define DE4X5_GET_HWADDR 0x01 /* Get the hardware address */ | 1005 | #define DE4X5_GET_HWADDR 0x01 /* Get the hardware address */ |
1006 | #define DE4X5_SET_HWADDR 0x02 /* Set the hardware address */ | 1006 | #define DE4X5_SET_HWADDR 0x02 /* Set the hardware address */ |
1007 | #define DE4X5_SET_PROM 0x03 /* Set Promiscuous Mode */ | 1007 | /* 0x03 and 0x04 were used before and are obsoleted now. Don't use them. */ |
1008 | #define DE4X5_CLR_PROM 0x04 /* Clear Promiscuous Mode */ | ||
1009 | #define DE4X5_SAY_BOO 0x05 /* Say "Boo!" to the kernel log file */ | 1008 | #define DE4X5_SAY_BOO 0x05 /* Say "Boo!" to the kernel log file */ |
1010 | #define DE4X5_GET_MCA 0x06 /* Get a multicast address */ | 1009 | #define DE4X5_GET_MCA 0x06 /* Get a multicast address */ |
1011 | #define DE4X5_SET_MCA 0x07 /* Set a multicast address */ | 1010 | #define DE4X5_SET_MCA 0x07 /* Set a multicast address */ |