Re: [PATCH 02/10] scsi: fix integer as NULL pointer warnings

From: James Bottomley
Date: Wed Apr 30 2008 - 18:30:16 EST


On Wed, 2008-04-30 at 15:03 -0700, Harvey Harrison wrote:
> drivers/scsi/FlashPoint.c:906:9: warning: Using plain integer as NULL pointer
> drivers/scsi/FlashPoint.c:907:53: warning: Using plain integer as NULL pointer
> drivers/scsi/FlashPoint.c:922:1: warning: Using plain integer as NULL pointer
> drivers/scsi/aha152x.c:3585:60: warning: Using plain integer as NULL pointer
> drivers/scsi/aha152x.c:3845:56: warning: Using plain integer as NULL pointer
> drivers/scsi/qla1280.c:2814:37: warning: Using plain integer as NULL pointer
> drivers/scsi/atp870u.c:750:47: warning: Using plain integer as NULL pointer
> drivers/scsi/3w-9xxx.c:1281:36: warning: Using plain integer as NULL pointer
> drivers/scsi/3w-9xxx.c:1293:36: warning: Using plain integer as NULL pointer
> drivers/scsi/3w-9xxx.c:1301:35: warning: Using plain integer as NULL pointer
> drivers/scsi/hptiop.c:447:10: warning: Using plain integer as NULL pointer
> drivers/scsi/hptiop.c:457:10: warning: Using plain integer as NULL pointer
> drivers/scsi/hptiop.c:479:24: warning: Using plain integer as NULL pointer
> drivers/scsi/hptiop.c:483:22: warning: Using plain integer as NULL pointer
> drivers/scsi/hptiop.c:1213:23: warning: Using plain integer as NULL pointer
> drivers/scsi/hptiop.c:1214:23: warning: Using plain integer as NULL pointer
>
> Signed-off-by: Harvey Harrison <harvey.harrison@xxxxxxxxx>
> ---
> James, please look at the FlashPoint.c changes in particular.

Could you please Cc linux-scsi? That way interested parties get to
check their drivers.

The flashpoint initialiser changes look wrong: {0} is a conventional
notation for zero initialise this structure. Sparse should probably be
taught to recognise that.

James


> drivers/scsi/3w-9xxx.c | 6 +++---
> drivers/scsi/FlashPoint.c | 7 +++----
> drivers/scsi/aha152x.c | 4 ++--
> drivers/scsi/atp870u.c | 2 +-
> drivers/scsi/hptiop.c | 12 ++++++------
> drivers/scsi/qla1280.c | 2 +-
> 6 files changed, 16 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c
> index b31faec..626d6e1 100644
> --- a/drivers/scsi/3w-9xxx.c
> +++ b/drivers/scsi/3w-9xxx.c
> @@ -1278,7 +1278,7 @@ static irqreturn_t twa_interrupt(int irq, void *dev_instance)
> error = 0;
> /* Check for command packet errors */
> if (full_command_packet->command.newcommand.status != 0) {
> - if (tw_dev->srb[request_id] != 0) {
> + if (tw_dev->srb[request_id]) {
> error = twa_fill_sense(tw_dev, request_id, 1, 1);
> } else {
> /* Skip ioctl error prints */
> @@ -1290,7 +1290,7 @@ static irqreturn_t twa_interrupt(int irq, void *dev_instance)
>
> /* Check for correct state */
> if (tw_dev->state[request_id] != TW_S_POSTED) {
> - if (tw_dev->srb[request_id] != 0) {
> + if (tw_dev->srb[request_id]) {
> TW_PRINTK(tw_dev->host, TW_DRIVER, 0x1a, "Received a request id that wasn't posted");
> TW_CLEAR_ALL_INTERRUPTS(tw_dev);
> goto twa_interrupt_bail;
> @@ -1298,7 +1298,7 @@ static irqreturn_t twa_interrupt(int irq, void *dev_instance)
> }
>
> /* Check for internal command completion */
> - if (tw_dev->srb[request_id] == 0) {
> + if (tw_dev->srb[request_id]) {
> if (request_id != tw_dev->chrdev_request_id) {
> if (twa_aen_complete(tw_dev, request_id))
> TW_PRINTK(tw_dev->host, TW_DRIVER, 0x1b, "Error completing AEN during attention interrupt");
> diff --git a/drivers/scsi/FlashPoint.c b/drivers/scsi/FlashPoint.c
> index b898d38..b252ac5 100644
> --- a/drivers/scsi/FlashPoint.c
> +++ b/drivers/scsi/FlashPoint.c
> @@ -903,8 +903,8 @@ static void FPT_autoCmdCmplt(unsigned long p_port, unsigned char p_card);
> static void FPT_autoLoadDefaultMap(unsigned long p_port);
>
> static struct sccb_mgr_tar_info FPT_sccbMgrTbl[MAX_CARDS][MAX_SCSI_TAR] =
> - { {{0}} };
> -static struct sccb_card FPT_BL_Card[MAX_CARDS] = { {0} };
> + { {{NULL}} };
> +static struct sccb_card FPT_BL_Card[MAX_CARDS] = { {NULL} };
> static SCCBSCAM_INFO FPT_scamInfo[MAX_SCSI_TAR] = { {{0}} };
> static struct nvram_info FPT_nvRamInfo[MAX_MB_CARDS] = { {0} };
>
> @@ -918,8 +918,7 @@ static unsigned char FPT_scamHAString[] =
>
> static unsigned short FPT_default_intena = 0;
>
> -static void (*FPT_s_PhaseTbl[8]) (unsigned long, unsigned char) = {
> -0};
> +static void (*FPT_s_PhaseTbl[8]) (unsigned long, unsigned char) = {NULL};
>
> /*---------------------------------------------------------------------
> *
> diff --git a/drivers/scsi/aha152x.c b/drivers/scsi/aha152x.c
> index f5215fd..0c93a49 100644
> --- a/drivers/scsi/aha152x.c
> +++ b/drivers/scsi/aha152x.c
> @@ -3582,7 +3582,7 @@ static int checksetup(struct aha152x_setup *setup)
> if (i == ARRAY_SIZE(ports))
> return 0;
>
> - if ( request_region(setup->io_port, IO_RANGE, "aha152x")==0 ) {
> + if (!request_region(setup->io_port, IO_RANGE, "aha152x")) {
> printk(KERN_ERR "aha152x: io port 0x%x busy.\n", setup->io_port);
> return 0;
> }
> @@ -3842,7 +3842,7 @@ static int __init aha152x_init(void)
> if ((setup_count == 1) && (setup[0].io_port == ports[i]))
> continue;
>
> - if ( request_region(ports[i], IO_RANGE, "aha152x")==0 ) {
> + if (!request_region(ports[i], IO_RANGE, "aha152x")) {
> printk(KERN_ERR "aha152x: io port 0x%x busy.\n", ports[i]);
> continue;
> }
> diff --git a/drivers/scsi/atp870u.c b/drivers/scsi/atp870u.c
> index db6de5e..571b43b 100644
> --- a/drivers/scsi/atp870u.c
> +++ b/drivers/scsi/atp870u.c
> @@ -747,7 +747,7 @@ static void send_s870(struct atp_unit *dev,unsigned char c)
> dev->quhd[c] = 0;
> }
> workreq = dev->quereq[c][dev->quhd[c]];
> - if (dev->id[c][scmd_id(workreq)].curr_req == 0) {
> + if (!dev->id[c][scmd_id(workreq)].curr_req) {
> dev->id[c][scmd_id(workreq)].curr_req = workreq;
> dev->last_cmd[c] = scmd_id(workreq);
> goto cmd_subp;
> diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c
> index 5b7be1e..bc5fb5c 100644
> --- a/drivers/scsi/hptiop.c
> +++ b/drivers/scsi/hptiop.c
> @@ -444,7 +444,7 @@ static void __iomem *hptiop_map_pci_bar(struct hptiop_hba *hba, int index)
> if (!(pci_resource_flags(pcidev, index) & IORESOURCE_MEM)) {
> printk(KERN_ERR "scsi%d: pci resource invalid\n",
> hba->host->host_no);
> - return 0;
> + return NULL;
> }
>
> mem_base_phy = pci_resource_start(pcidev, index);
> @@ -454,7 +454,7 @@ static void __iomem *hptiop_map_pci_bar(struct hptiop_hba *hba, int index)
> if (!mem_base_virt) {
> printk(KERN_ERR "scsi%d: Fail to ioremap memory space\n",
> hba->host->host_no);
> - return 0;
> + return NULL;
> }
> return mem_base_virt;
> }
> @@ -476,11 +476,11 @@ static void hptiop_unmap_pci_bar_itl(struct hptiop_hba *hba)
> static int hptiop_map_pci_bar_mv(struct hptiop_hba *hba)
> {
> hba->u.mv.regs = hptiop_map_pci_bar(hba, 0);
> - if (hba->u.mv.regs == 0)
> + if (!hba->u.mv.regs)
> return -1;
>
> hba->u.mv.mu = hptiop_map_pci_bar(hba, 2);
> - if (hba->u.mv.mu == 0) {
> + if (!hba->u.mv.mu) {
> iounmap(hba->u.mv.regs);
> return -1;
> }
> @@ -1210,8 +1210,8 @@ static void hptiop_remove(struct pci_dev *pcidev)
>
> static struct hptiop_adapter_ops hptiop_itl_ops = {
> .iop_wait_ready = iop_wait_ready_itl,
> - .internal_memalloc = 0,
> - .internal_memfree = 0,
> + .internal_memalloc = NULL,
> + .internal_memfree = NULL,
> .map_pci_bar = hptiop_map_pci_bar_itl,
> .unmap_pci_bar = hptiop_unmap_pci_bar_itl,
> .enable_intr = hptiop_enable_intr_itl,
> diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c
> index 09ab3ea..d2bc60a 100644
> --- a/drivers/scsi/qla1280.c
> +++ b/drivers/scsi/qla1280.c
> @@ -2811,7 +2811,7 @@ qla1280_64bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
>
> /* Check for room in outstanding command list. */
> for (cnt = 0; cnt < MAX_OUTSTANDING_COMMANDS &&
> - ha->outstanding_cmds[cnt] != 0; cnt++);
> + ha->outstanding_cmds[cnt] != NULL; cnt++);
>
> if (cnt >= MAX_OUTSTANDING_COMMANDS) {
> status = 1;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/