Re: PATCH: rtsx_pci driver - don't disable the rts5229 card reader on Intel NUC boxes

From: Chris Clayton
Date: Sun Aug 02 2020 - 15:58:41 EST


Sorry, I should have said that the patch is against 5.7.12. It applies to upstream, but with offsets.

On 02/08/2020 20:48, Chris Clayton wrote:
> bede03a579b3 introduced a bug which leaves the rts5229 PCI Express card reader on my Intel NUC6CAYH box.
>
> The bug is in drivers/misc/cardreader/rtsx_pcr.c. A call to rtsx_pci_init_ocp() was added to rtsx_pci_init_hw().
> At the call point, pcr->ops->init_ocp is NULL and pcr->option.ocp_en is 0, so in rtsx_pci_init_ocp() the cardreader
> gets disabled.
>
> I've avoided this by making excution code that results in the reader being disabled conditional on the device
> not being an RTS5229. Of course, other rtsxxx card readers may also be disabled by this bug. I don't have the
> knowledge to address that, so I'll leave to the driver maintainers.
>
> The patch to avoid the bug is attached.
>
> Fixes: bede03a579b3 ("misc: rtsx: Enable OCP for rts522a rts524a rts525a rts5260")
> Link: https://marc.info/?l=linux-kernel&m=159105912832257
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=204003
> Signed-off-by: Chris Clayton <chris2553@xxxxxxxxxxxxxx>
>
> bede03a579b3 introduced a bug which leaves the rts5229 PCI Express card reader on my Intel NUC6CAYH box.
>
> The bug is in drivers/misc/cardreader/rtsx_pcr.c. A call to rtsx_pci_init_ocp() was added to rtsx_pci_init_hw().
> At the call point, pcr->ops->init_ocp is NULL and pcr->option.ocp_en is 0, so in rtsx_pci_init_ocp() the cardreader
> gets disabled.
>
> I've avoided this by making excution code that results in the reader being disabled conditional on the device
> not being an RTS5229. Of course, other rtsxxx card readers may also be disabled by this bug. I don't have the
> knowledge to address that, so I'll leave to the driver maintainers.
>
> The patch to avoid the bug is attached.
>
> Chris
>