> Wiadomość napisana przez Ping-Ke Shih <pkshih@xxxxxxxxxxx> w dniu 23 lip 2025, o godz. 14:23: > > Thanks for the hints. I think it's worth to try: > > diff --git a/drivers/net/wireless/realtek/rtw88/main.c b/drivers/net/wireless/realtek/rtw88/main.c > index fa0ed39cb199..5ea13c775796 100644 > --- a/drivers/net/wireless/realtek/rtw88/main.c > +++ b/drivers/net/wireless/realtek/rtw88/main.c > @@ -1861,6 +1861,8 @@ static int rtw_chip_parameter_setup(struct rtw_dev *rtwdev) > hal->chip_version = rtw_read32(rtwdev, REG_SYS_CFG1); > hal->cut_version = BIT_GET_CHIP_VER(hal->chip_version); > hal->mp_chip = (hal->chip_version & BIT_RTL_ID) ? 0 : 1; > + printk("rtw88: %s:%d hal->chip_version=0x%x\n", > + __func__, __LINE__, hal->chip_version); > if (hal->chip_version & BIT_RF_TYPE_ID) { > hal->rf_type = RF_2T2R; > hal->rf_path_num = 2; > diff --git a/drivers/net/wireless/realtek/rtw88/sdio.c b/drivers/net/wireless/realtek/rtw88/sdio.c > index cc2d4fef3587..5c9e7c8cdd7e 100644 > --- a/drivers/net/wireless/realtek/rtw88/sdio.c > +++ b/drivers/net/wireless/realtek/rtw88/sdio.c > @@ -144,6 +144,10 @@ static u32 rtw_sdio_to_io_address(struct rtw_dev *rtwdev, u32 addr, > > static bool rtw_sdio_use_direct_io(struct rtw_dev *rtwdev, u32 addr) > { > + if (!rtw_sdio_is_bus_addr(addr) && > + !test_bit(RTW_FLAG_POWERON, rtwdev->flags)) > + return false; > + > return !rtw_sdio_is_sdio30_supported(rtwdev) || > rtw_sdio_is_bus_addr(addr); > } > With this change all works ok. 15 boots and all 15 were with nice wifi :-) dmesg from working system: https://termbin.com/09a1