| Submitter | Milton Miller |
|---|---|
| Date | Jan. 8, 2009, 12:14 p.m. |
| Message ID | <hvc-console-29-3-3@bga.com> |
| Download | mbox | patch |
| Permalink | /patch/17339/ |
| State | Accepted |
| Commit | c21f7a527f7757a0e246cea521a5dd3b8e1224d5 |
| Headers | show |
Comments
Am Donnerstag, 8. Januar 2009 schrieb Milton Miller: > Only call free_irq if we marked the request_irq has having succeeded > instead of whenever the the sub-driver identified the interrupt to use. > > Signed-off-by: Milton Miller <miltonm@bga.com> > --- > Appears to be a bugfix but might use a bit of time in -next. > This code was created in 2.6.28 to allow s390 to build without adding ifdefs. > Many hvc-console sub-drivers have a single channel and are not modules. > > Index: work.git/drivers/char/hvc_irq.c > =================================================================== > --- work.git.orig/drivers/char/hvc_irq.c 2009-01-08 04:07:28.000000000 -0600 > +++ work.git/drivers/char/hvc_irq.c 2009-01-08 04:07:47.000000000 -0600 > @@ -37,7 +37,7 @@ int notifier_add_irq(struct hvc_struct * > > void notifier_del_irq(struct hvc_struct *hp, int irq) > { > - if (!irq) > + if (!hp->irq_requested) > return; > free_irq(irq, hp); > hp->irq_requested = 0; > Looks sane. Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Patch
Index: work.git/drivers/char/hvc_irq.c =================================================================== --- work.git.orig/drivers/char/hvc_irq.c 2009-01-08 04:07:28.000000000 -0600 +++ work.git/drivers/char/hvc_irq.c 2009-01-08 04:07:47.000000000 -0600 @@ -37,7 +37,7 @@ int notifier_add_irq(struct hvc_struct * void notifier_del_irq(struct hvc_struct *hp, int irq) { - if (!irq) + if (!hp->irq_requested) return; free_irq(irq, hp); hp->irq_requested = 0;
Only call free_irq if we marked the request_irq has having succeeded instead of whenever the the sub-driver identified the interrupt to use. Signed-off-by: Milton Miller <miltonm@bga.com> --- Appears to be a bugfix but might use a bit of time in -next. This code was created in 2.6.28 to allow s390 to build without adding ifdefs. Many hvc-console sub-drivers have a single channel and are not modules.