12 Aug 2010 18:56
[BUG] IRQ storm from linux/drivers/char/ppdev.c
Guan Xin <guanx.bac <at> gmail.com>
2010-08-12 16:56:02 GMT
2010-08-12 16:56:02 GMT
Hi All, When I was using a PCI parallel card, I suffered from IRQ storms with avrdude. https://savannah.nongnu.org/bugs/?30753 It seems that in "ppdev.c" the IRQ is always enabled everywhere. I am not familiar with this driver. But the attached nasty patch solved my problem. Could anyone check it? Xin --- ppdev.c.1st 2010-08-01 18:11:14.000000000 -0400 +++ ppdev.c 2010-08-12 11:48:35.742688887 -0400 <at> <at> -90,17 +90,21 <at> <at> #define PP_EXCL (1<<1) /* Other constants */ -#define PP_INTERRUPT_TIMEOUT (10 * HZ) /* 10s */ #define PP_BUFFER_SIZE 1024 #define PARDEVICE_MAX 8 /* ROUND_UP macro from fs/select.c */ #define ROUND_UP(x,y) (((x)+(y)-1)/(y)) -static inline void pp_enable_irq (struct pp_struct *pp) +static inline void pp_verify_irq (struct pp_struct *pp) { struct parport *port = pp->pdev->port; - port->ops->enable_irq (port);(Continue reading)
RSS Feed