Subject: Re: solution to printk() blocking interrupts?

From: Sergei Shtylyov <[email-masked]>
Date: Mon, 22 Sep 2008 15:01:20 +0400

Hello, I wrote:

>> diff --git a/drivers/net/fec_mpc52xx.c b/drivers/net/fec_mpc52xx.c
>> index 4e4f683..72541b5 100644
>> --- a/drivers/net/fec_mpc52xx.c
>> +++ b/drivers/net/fec_mpc52xx.c
>> @@ -401,6 +401,16 @@ static int mpc52xx_fec_hard_start_xmit(struct
>> sk_buff *skb, struct net_device *d
>>         return 0;
>>  }
>>
>> +#ifdef CONFIG_NET_POLL_CONTROLLER
>> +static void mpc52xx_fec_poll_controller(struct net_device *dev)
>> +{
>> +        disable_irq(dev->irq);
>> +        mpc52xx_fec_tx_interrupt(dev->irq, dev);
>>   
>
>   The interrupt nu,ber seems wrong, although the handler doesn't care 
> anyway...
>
>> +        enable_irq(dev->irq);

   Ah, you're also dis/enabling the wrong IRQ -- it should be 
priv->t_irq. No, this patch won't do.

WBR, Sergei