[PATCH 1/5] staging: lirc_serial: Fix init/exit order

Jonathan Nieder jrnieder at gmail.com
Fri Mar 2 03:45:45 UTC 2012


Hi Ben,

Ben Hutchings wrote[1]:

> Currently the module init function registers a platform_device and
> only then allocates its IRQ and I/O region.  This allows allocation to
> race with the device's suspend() function.  Instead, allocate
> resources in the platform driver's probe() function and free them in
> the remove() function.
>
> The module exit function removes the platform device before the
> character device that provides access to it.  Change it to reverse the
> order of initialisation.
>
> Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
> ---
> The down-side of this is that module insertion now succeeds even if the
> device can't be probed.  But that's how most driver modules work, and
> there will be obvious error messages logged on failure.

>From <http://bugs.debian.org/645811> I see that you tested these patches:

 affc9a0d59ac [media] staging: lirc_serial: Do not assume error codes
              returned by request_irq()
 9b98d6067971 [media] staging: lirc_serial: Fix bogus error codes
 1ff1d88e8629 [media] staging: lirc_serial: Fix deadlock on resume failure
 c8e57e1b766c [media] staging: lirc_serial: Free resources on failure
              paths of lirc_serial_probe()
 9105b8b20041 [media] staging: lirc_serial: Fix init/exit order

in a VM.  They were applied in 3.3-rc1 and have been in the Debian
kernel since 3.1.4-1 at the end of November.

Would some of these patches (e.g., at least patches 1, 2, and 5) be
appropriate for inclusion in the 3.0.y and 3.2.y stable kernels from
kernel.org?

Thanks,
Jonathan

[1] http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/40486



More information about the devel mailing list