[PATCH 1/5] staging: lirc_serial: Fix init/exit order
jrnieder at gmail.com
Fri Mar 2 03:45:45 UTC 2012
Ben Hutchings wrote:
> 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
More information about the devel