Subject: Re: [RFC PATCH v1 19/19] rtw88: Add support for the SDIO based RTL8821CS chipset

From: Chris Morgan <[email-masked]>
Date: Wed, 4 Jan 2023 16:45:24 -0600

On Wed, Jan 04, 2023 at 06:23:24PM +0100, Martin Blumenstingl wrote:
> On Wed, Jan 4, 2023 at 6:05 PM Chris Morgan <[email-masked]> wrote:
> [...]
> > > > [    0.989545] mmc2: new high speed SDIO card at address 0001
> > > > [    0.989993] rtw_8821cs mmc2:0001:1: Firmware version 24.8.0, H2C version 12
> > > > [    1.005684] rtw_8821cs mmc2:0001:1: sdio write32 failed (0x14): -110
> > > > [    1.005737] rtw_8821cs mmc2:0001:1: sdio read32 failed (0x1080): -110
> > > > [    1.005789] rtw_8821cs mmc2:0001:1: sdio write32 failed (0x11080): -110
> > > > [    1.005840] rtw_8821cs mmc2:0001:1: sdio read8 failed (0x3): -110
> > > > [    1.005920] rtw_8821cs mmc2:0001:1: sdio read8 failed (0x1103): -110
> > > > [    1.005998] rtw_8821cs mmc2:0001:1: sdio read32 failed (0x80): -110
> > > > [    1.006078] rtw_8821cs mmc2:0001:1: sdio read32 failed (0x1700): -110
> > > The error starts with a write to register 0x14 (REG_SDIO_HIMR), which
> > > happens right after configuring RX aggregation.
> > > Can you please try two modifications inside
> > > drivers/net/wireless/realtek/rtw88/sdio.c:
> > > 1. inside the rtw_sdio_start() function: change
> > > "rtw_sdio_rx_aggregation(rtwdev, false);" to
> > > "rtw_sdio_rx_aggregation(rtwdev, true);"
> >
> > No change, still receive identical issue.
> >
> > > 2. if 1) does not work: remove the call to rtw_sdio_rx_aggregation()
> > > from rtw_sdio_start()
> > >
> >
> > Same here, still receive identical issue.
> Thanks for testing and for reporting back!
> 
> Looking back at it again: I think I mis-interpreted your error output.
> I think it's actually failing in __rtw_mac_init_system_cfg()
> 
> Can you please try the latest code from [0] (ignoring any changes I
> recommended previously)?
> There's two bug fixes in there (compared to this series) which may
> solve the issue that you are seeing:
> - fix typos to use "if (!*err_ret ..." (to read the error code)
> instead of "if (!err_ret ..." (which just checks if a non-null pointer
> was passed) in rtw_sdio_read_indirect{8,32}
> - change buf[0] to buf[i] in rtw_sdio_read_indirect_bytes
> 
> These fixes will be part of v2 of this series anyways.

That still doesn't fix it, I receive the same error. I'm using an older
patch series of yours (that I can't seem to find on github anymore),
so I'll see if I can compare the older series that works with this one
and find out the root cause.

Thank you.

> 
> 
> Best regards,
> Martin
> 
> 
> [0] https://github.com/xdarklight/linux/tree/d115a8631d208996510822f0805df5dfc8dfb548