re: mmc: sh_mmcif: remove now superfluous sh_mmcif_host::data member

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Guennadi Liakhovetski,

This is a semi-automatic email about new static checker warnings.

The patch 699834045f1e: "mmc: sh_mmcif: remove now superfluous 
sh_mmcif_host::data member" from Dec 26, 2011, leads to the following 
Smatch complaint:

drivers/mmc/host/sh_mmcif.c:822 sh_mmcif_set_cmd()
	 error: we previously assumed 'data' could be null (see line 787)

drivers/mmc/host/sh_mmcif.c
   786		/* WDAT / DATW */
   787		if (data) {
                    ^^^^
Check.

   788			tmp |= CMD_SET_WDAT;
   789			switch (host->bus_width) {
   790			case MMC_BUS_WIDTH_1:
   791				tmp |= CMD_SET_DATW_1;
   792				break;
   793			case MMC_BUS_WIDTH_4:
   794				tmp |= CMD_SET_DATW_4;
   795				break;
   796			case MMC_BUS_WIDTH_8:
   797				tmp |= CMD_SET_DATW_8;
   798				break;
   799			default:
   800				dev_err(&host->pd->dev, "Unsupported bus width.\n");
   801				break;
   802			}
   803			switch (host->timing) {
   804			case MMC_TIMING_UHS_DDR50:
   805				/*
   806				 * MMC core will only set this timing, if the host
   807				 * advertises the MMC_CAP_UHS_DDR50 capability. MMCIF
   808				 * implementations with this capability, e.g. sh73a0,
   809				 * will have to set it in their platform data.
   810				 */
   811				tmp |= CMD_SET_DARS;
   812				break;
   813			}
   814		}
   815		/* DWEN */
   816		if (opc == MMC_WRITE_BLOCK || opc == MMC_WRITE_MULTIPLE_BLOCK)
   817			tmp |= CMD_SET_DWEN;
   818		/* CMLTE/CMD12EN */
   819		if (opc == MMC_READ_MULTIPLE_BLOCK || opc == MMC_WRITE_MULTIPLE_BLOCK) {
   820			tmp |= CMD_SET_CMLTE | CMD_SET_CMD12EN;
   821			sh_mmcif_bitset(host, MMCIF_CE_BLOCK_SET,
   822					data->blocks << 16);
                                        ^^^^^^^^^^^^
Dereference.

We used to assume that host->data might be NULL but that mrq->data was
a valid pointer.  But now they are unified into one pointer.

   823		}
   824		/* RIDXC[1:0] check bits */

regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux