2005-04-14 18:21:04

by Geoff Levand

[permalink] [raw]
Subject: {PATCH] Fix IBM EMAC driver ioctl bug

Fix IBM EMAC driver ioctl bug.

I found IBM EMAC driver bug.
So mii-tool command print wrong status.

# mii-tool
eth0: 10 Mbit, half duplex, no link
eth1: 10 Mbit, half duplex, no link

I can get correct status on fixed kernel.

# mii-tool
eth0: negotiated 100baseTx-FD, link okZZ
eth1: negotiated 100baseTx-FD, link ok

Hiroaki Fuse

Signed-off-by: Geoff Levand <[email protected]> for CELF
---

Index: linux-2.6.11/drivers/net/ibm_emac/ibm_emac_core.c
===================================================================
--- linux-2.6.11.orig/drivers/net/ibm_emac/ibm_emac_core.c 2005-04-14 10:54:20.014023550 -0700
+++ linux-2.6.11/drivers/net/ibm_emac/ibm_emac_core.c 2005-04-14 10:55:24.723458722 -0700
@@ -1587,7 +1587,7 @@
static int emac_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
{
struct ocp_enet_private *fep = dev->priv;
- uint *data = (uint *) & rq->ifr_ifru;
+ uint16_t *data = (uint16_t *) & rq->ifr_ifru;

switch (cmd) {
case SIOCGMIIPHY:

-EOF


2005-04-15 04:01:15

by Eugene Surovegin

[permalink] [raw]
Subject: Re: {PATCH] Fix IBM EMAC driver ioctl bug

On Thu, Apr 14, 2005 at 11:20:32AM -0700, Geoff Levand wrote:
> Fix IBM EMAC driver ioctl bug.
>
> I found IBM EMAC driver bug.
> So mii-tool command print wrong status.
>
> # mii-tool
> eth0: 10 Mbit, half duplex, no link
> eth1: 10 Mbit, half duplex, no link
>
> I can get correct status on fixed kernel.
>
> # mii-tool
> eth0: negotiated 100baseTx-FD, link okZZ
> eth1: negotiated 100baseTx-FD, link ok
>

There is a problem with this patch. I'm aware of this problem for
quite some time, but chose to keep the current code.

This IOCTL implementation has been here for many years in all
revisions of the driver, so I think we should keep it as is, because
some software could rely on it, and your change will break it.

And all new code should use ethtool anyway :).

--
Eugene