* Re: [NET]: Fix dev_queue_xmit build with older gcc.
[not found] <200406221816.i5MIG9jZ024996@hera.kernel.org>
@ 2004-06-22 20:43 ` Jeff Garzik
2004-06-22 21:49 ` Ricky Beam
0 siblings, 1 reply; 2+ messages in thread
From: Jeff Garzik @ 2004-06-22 20:43 UTC (permalink / raw)
To: David S. Miller, Andrew Morton; +Cc: Linux Kernel Mailing List
Linux Kernel Mailing List wrote:
> ChangeSet 1.1822, 2004/06/21 09:32:44-07:00, akm@osdl.org
>
> [NET]: Fix dev_queue_xmit build with older gcc.
>
> Signed-off-by: Andrew Morton <akpm@osdl.org>
> Signed-off-by: David S. Miller <davem@redhat.com>
>
>
>
> dev.c | 7 +++----
> 1 files changed, 3 insertions(+), 4 deletions(-)
>
>
> diff -Nru a/net/core/dev.c b/net/core/dev.c
> --- a/net/core/dev.c 2004-06-22 11:16:18 -07:00
> +++ b/net/core/dev.c 2004-06-22 11:16:18 -07:00
> @@ -1406,13 +1406,12 @@
> Either shot noqueue qdisc, it is even simpler 8)
> */
> if (dev->flags & IFF_UP) {
> - preempt_disable();
> - int cpu = smp_processor_id();
> + int cpu = get_cpu();
>
> if (dev->xmit_lock_owner != cpu) {
>
> HARD_TX_LOCK_BH(dev, cpu);
> - preempt_enable();
> + put_cpu();
>
> if (!netif_queue_stopped(dev)) {
> if (netdev_nit)
> @@ -1430,7 +1429,7 @@
> "queue packet!\n", dev->name);
> goto out_enetdown;
> } else {
> - preempt_enable();
> + put_cpu();
Has this been tested with preempt?
It looks right, but I'm paranoid...
Jeff
^ permalink raw reply [flat|nested] 2+ messages in thread