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

Han Xu xhnjupt at gmail.com
Thu Jan 15 07:41:03 PST 2015


On Wed, Jan 14, 2015 at 2:50 PM, Zhi Li <lznuaa at gmail.com> wrote:
> 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>
>

Acked-by: Allen Xu <han.xu at freescale.com>
>>
>> ______________________________________________________
>> Linux MTD discussion mailing list
>> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/



More information about the linux-mtd mailing list