Hi Tobias, > Hi Bing, > > Here is the log output without the added udelay. It is always the 0xd9 > command that fails, but not always with these sdio_ireg/wr_bitmask > values. I have seen these combinations: > > - sdio_ireg incorrect(2), wr_bitmask incorrect(fffe) > - sdio_ireg correct(3), wr_bitmask incorrect(fffe) > - sdio_ireg incorrect(2), wr_bitmask correct(ffff) > > Waiting 50 us before reading the mp_regs always returns the correct > response. Thanks for the logs. Could you try the following change to bypass 0xd9 command? diff --git a/drivers/net/wireless/mwifiex/sta_cmd.c b/drivers/net/wireless/mwifi index c0268b5..3cecc86 100644 --- a/drivers/net/wireless/mwifiex/sta_cmd.c +++ b/drivers/net/wireless/mwifiex/sta_cmd.c @@ -1541,6 +1541,7 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 if (ret) return -1; +#if 0 /* Reconfigure tx buf size */ ret = mwifiex_send_cmd_sync(priv, HostCmd_CMD_RECONFIGURE_TX_BUFF, @@ -1548,6 +1549,7 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 &priv->adapter->tx_buf_size); if (ret) return -1; +#endif if (priv->bss_type != MWIFIEX_BSS_TYPE_UAP) { /* Enable IEEE PS by default */ Thanks, Bing -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html