Skip to contentSkip to conversation

rsi: add firmware loading for 9116 device

bug report Dan Carpenter 1 participant 1 message May 2, 2019

lore
Share & tools
lore
#0 lore raw

Hello Siva Rebbagondla,

The patch e5a1ecc97e5f: "rsi: add firmware loading for 9116 device" from Apr 3, 2019, leads to the following static checker warning:

	drivers/net/wireless/rsi/rsi_91x_sdio.c:940 rsi_sdio_ta_reset()
	error: uninitialized symbol 'data'.

drivers/net/wireless/rsi/rsi_91x_sdio.c
926 static int rsi_sdio_ta_reset(struct rsi_hw *adapter) 927 {

   928          int status;
   929          u32 addr;
   930          u8 *data;
                ^^^^^^^^

931
932 status = rsi_sdio_master_access_msword(adapter, TA_BASE_ADDR);
933 if (status < 0) {
934 rsi_dbg(ERR_ZONE,
935 "Unable to set ms word to common reg\n");
936 return status;
937 }
938
939 rsi_dbg(INIT_ZONE, "%s: Bring TA out of reset\n", __func__);

   940          put_unaligned_le32(TA_HOLD_THREAD_VALUE, data);
                                                         ^^^^

Not initialized.

941 addr = TA_HOLD_THREAD_REG | RSI_SD_REQUEST_MASTER;
942 status = rsi_sdio_write_register_multiple(adapter, addr,
943 (u8 *)&data,

                                                          ^^^^^^^^^^^

It's really hard to test reset functions of course... :(

   944                                                    RSI_9116_REG_SIZE);
   945          if (status < 0) {
   946                  rsi_dbg(ERR_ZONE, "Unable to hold TA threads\n");
   947                  return status;
   948          }
   949  
   950          put_unaligned_le32(TA_SOFT_RST_CLR, data);
   951          addr = TA_SOFT_RESET_REG | RSI_SD_REQUEST_MASTER;
   952          status = rsi_sdio_write_register_multiple(adapter, addr,
   953                                                    (u8 *)&data,
   954                                                    RSI_9116_REG_SIZE);
   955          if (status < 0) {
   956                  rsi_dbg(ERR_ZONE, "Unable to get TA out of reset\n");
   957                  return status;
   958          }

regards,
dan carpenter