Re: [PATCH 3/3] ne-h8300: Fix regression caused during net_device_ops conversion

From: Geert Uytterhoeven
Date: Thu May 12 2011 - 15:16:13 EST


On Thu, May 12, 2011 at 21:11, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxxxxxx>

Sorry, the above line is bogus. Please remove it.

> Changeset dcd39c90290297f6e6ed8a04bb20da7ac2b043c5 ("ne-h8300: convert to
> net_device_ops") broke ne-h8300 by adding 8390.o to the link. That
> meant that lib8390.c was included twice, once in ne-h8300.c and once in
> 8390.c, subject to different macros. This patch reverts that by
> avoiding the wrappers in 8390.c.
>
> Fix based on commits 217cbfa856dc1cbc2890781626c4032d9e3ec59f ("mac8390:
> fix regression caused during net_device_ops conversion") and
> 4e0168fa4842e27795a75b205a510f25b62181d9 ("mac8390: fix build with
> NET_POLL_CONTROLLER").
>
> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxx
> ---
> Âdrivers/net/Makefile  |  Â2 +-
> Âdrivers/net/ne-h8300.c | Â 16 ++++++++--------
> Â2 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/Makefile b/drivers/net/Makefile
> index 4d2f094..e5a7375 100644
> --- a/drivers/net/Makefile
> +++ b/drivers/net/Makefile
> @@ -144,7 +144,7 @@ obj-$(CONFIG_NE3210) += ne3210.o 8390.o
> Âobj-$(CONFIG_SB1250_MAC) += sb1250-mac.o
> Âobj-$(CONFIG_B44) += b44.o
> Âobj-$(CONFIG_FORCEDETH) += forcedeth.o
> -obj-$(CONFIG_NE_H8300) += ne-h8300.o 8390.o
> +obj-$(CONFIG_NE_H8300) += ne-h8300.o
> Âobj-$(CONFIG_AX88796) += ax88796.o
> Âobj-$(CONFIG_BCM63XX_ENET) += bcm63xx_enet.o
> Âobj-$(CONFIG_FTMAC100) += ftmac100.o
> diff --git a/drivers/net/ne-h8300.c b/drivers/net/ne-h8300.c
> index 30be8c6..7298a34 100644
> --- a/drivers/net/ne-h8300.c
> +++ b/drivers/net/ne-h8300.c
> @@ -167,7 +167,7 @@ static void cleanup_card(struct net_device *dev)
> Â#ifndef MODULE
> Âstruct net_device * __init ne_probe(int unit)
> Â{
> - Â Â Â struct net_device *dev = alloc_ei_netdev();
> + Â Â Â struct net_device *dev = ____alloc_ei_netdev(0);
> Â Â Â Âint err;
>
> Â Â Â Âif (!dev)
> @@ -197,15 +197,15 @@ static const struct net_device_ops ne_netdev_ops = {
>    Â.ndo_open        = ne_open,
>    Â.ndo_stop        = ne_close,
>
> -    .ndo_start_xmit     = ei_start_xmit,
> -    .ndo_tx_timeout     = ei_tx_timeout,
> -    .ndo_get_stats     Â= ei_get_stats,
> - Â Â Â .ndo_set_multicast_list = ei_set_multicast_list,
> +    .ndo_start_xmit     = __ei_start_xmit,
> +    .ndo_tx_timeout     = __ei_tx_timeout,
> +    .ndo_get_stats     Â= __ei_get_stats,
> + Â Â Â .ndo_set_multicast_list = __ei_set_multicast_list,
>    Â.ndo_validate_addr   Â= eth_validate_addr,
> -    .ndo_set_mac_address  Â= eth_mac_addr,
> +    .ndo_set_mac_address  Â= eth_mac_addr,
>    Â.ndo_change_mtu     = eth_change_mtu,
> Â#ifdef CONFIG_NET_POLL_CONTROLLER
> -    .ndo_poll_controller  Â= ei_poll,
> +    .ndo_poll_controller  Â= __ei_poll,
> Â#endif
> Â};
>
> @@ -637,7 +637,7 @@ int init_module(void)
> Â Â Â Âint err;
>
> Â Â Â Âfor (this_dev = 0; this_dev < MAX_NE_CARDS; this_dev++) {
> - Â Â Â Â Â Â Â struct net_device *dev = alloc_ei_netdev();
> + Â Â Â Â Â Â Â struct net_device *dev = ____alloc_ei_netdev(0);
> Â Â Â Â Â Â Â Âif (!dev)
> Â Â Â Â Â Â Â Â Â Â Â Âbreak;
> Â Â Â Â Â Â Â Âif (io[this_dev]) {
> --
> 1.7.0.4

Gr{oetje,eeting}s,

            Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
             Â Â -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/