[PATCH RESEND] mtd: fsl-quadspi: Fix module unbound
Huang Shijie
shijie.huang at intel.com
Tue Jan 13 17:04:59 PST 2015
On Tue, Jan 13, 2015 at 08:14:15PM -0200, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam at freescale.com>
>
> When removing the fsl-quadspi module and running 'cat /proc/mtd' afterwards,
> we see garbage data like:
>
> $ rmmod fsl-quadspi
> $ cat /proc/mtd
> dev: size erasesize name
> mtd0: 00000000 00000000 "(null)"
> mtd0: 00000000 00000000 "(null)"
> mtd0: 00000000 00000000 "(null)"
> ...
> mtd0: a22296c6c756e28 00000000 "(null)"
> mtd0: a22296c6c756e28 3064746d "(null)"
>
> If we continue doing multiple module load/unload operations, then it will also
> lead to a kernel crash.
>
> The reason for this is due to the wrong mtd index used in
> mtd_device_unregister() in the remove function.
>
> We need to keep the mtd unregister index aligned with the one used in the probe
> function, which means we need to take into account the 'has_second_chip'
> property. By doing so we can guarantee that the mtd index is the same in the
> registration and unregistration functions.
>
> With this patch applied we can load/unload the fsl-quadspi driver several times
> and it will result in no crash.
>
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
ok. Let this patch in.
Acked-by: Huang Shijie <shijie.huang at intel.com>
More information about the linux-mtd
mailing list