Message ID | 4B423440.6060807@computer.org |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
Hi, Does the patch still work with the new NAPI support in the driver? Some comments below: On Mon, 04 Jan 2010 19:32:32 +0100 Jan Ceuleers <jan.ceuleers@computer.org> wrote: > +static void velocity_poll_controller(struct net_device *dev) > +{ > + disable_irq(dev->irq); > + velocity_intr(dev->irq, dev); > + enable_irq(dev->irq); > +} This should probably have an #ifdef CONFIG_NET_POLL_CONTROLLER ... #endif around it since > @@ -2628,6 +2642,9 @@ static const struct net_device_ops velocity_netdev_ops = { > .ndo_vlan_rx_add_vid = velocity_vlan_rx_add_vid, > .ndo_vlan_rx_kill_vid = velocity_vlan_rx_kill_vid, > .ndo_vlan_rx_register = velocity_vlan_rx_register, > +#ifdef CONFIG_NET_POLL_CONTROLLER > + .ndo_poll_controller = velocity_poll_controller, > +#endif This one has it (to avoid a warning when building without it). // Simon -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Simon Kagstrom wrote: > Does the patch still work with the new NAPI support in the driver? Errr. (Is my ignorance showing yet?) I will have to study this, based on other drivers and your commit dfff71. I would be grateful for any hints, but otherwise will endeavour to figure it out myself. >> +static void velocity_poll_controller(struct net_device *dev) >> +{ >> + disable_irq(dev->irq); >> + velocity_intr(dev->irq, dev); >> + enable_irq(dev->irq); >> +} > > This should probably have an > > #ifdef CONFIG_NET_POLL_CONTROLLER > ... > #endif > > around it You are right, will add. Thanks, Jan -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, 05 Jan 2010 21:19:33 +0100 Jan Ceuleers <jan.ceuleers@computer.org> wrote: > Simon Kagstrom wrote: > > Does the patch still work with the new NAPI support in the driver? > > Errr. (Is my ignorance showing yet?) > > I will have to study this, based on other drivers and your commit dfff71. Well, if you have tested it and netconsole works with the new driver I would guess it's OK. I don't know netconsole myself, but I know the interrupt handler (which you call from your patch) has changed with the NAPI support, so that's why I was wondering if it still worked. // Simon -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Simon Kagstrom wrote: >> I will have to study this, based on other drivers and your commit dfff71. > > Well, if you have tested it and netconsole works with the new driver I > would guess it's OK. I don't know netconsole myself, but I know the > interrupt handler (which you call from your patch) has changed with the > NAPI support, so that's why I was wondering if it still worked. I want to double-check but can't get my hands on the test machine at the moment. I will revert as soon as. Thanks, Jan -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c index 4ceb441..90718f5 100644 --- a/drivers/net/via-velocity.c +++ b/drivers/net/via-velocity.c @@ -2216,6 +2216,20 @@ static irqreturn_t velocity_intr(int irq, void *dev_instance) } /** + * velocity_poll_controller - netpoll controller + * @dev: network device + * + * Used by netconsole and other diagnostic tools to allow network + * i/o with interrupts disabled. + */ +static void velocity_poll_controller(struct net_device *dev) +{ + disable_irq(dev->irq); + velocity_intr(dev->irq, dev); + enable_irq(dev->irq); +} + +/** * velocity_open - interface activation callback * @dev: network layer device to open * @@ -2628,6 +2642,9 @@ static const struct net_device_ops velocity_netdev_ops = { .ndo_vlan_rx_add_vid = velocity_vlan_rx_add_vid, .ndo_vlan_rx_kill_vid = velocity_vlan_rx_kill_vid, .ndo_vlan_rx_register = velocity_vlan_rx_register, +#ifdef CONFIG_NET_POLL_CONTROLLER + .ndo_poll_controller = velocity_poll_controller, +#endif }; /**