[PATCH RESEND] mtd: fsl-quadspi: Fix module unbound

Zhi Li lznuaa at gmail.com
Wed Jan 14 12:50:25 PST 2015


On Tue, Jan 13, 2015 at 7:04 PM, Huang Shijie <shijie.huang at intel.com> wrote:
> 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>

Tested-by: Frank Li <Frank.Li at freescale.com>

>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/



More information about the linux-mtd mailing list