scsi: aacraid: clean up warning cast-function-type
authorPhong Tran <tranmanphong@gmail.com>
Mon, 9 Mar 2020 15:53:19 +0000 (22:53 +0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 12 Mar 2020 03:07:57 +0000 (23:07 -0400)
Make the aacraid driver -Wcast-function-type clean

Report by: https://github.com/KSPP/linux/issues/20

drivers/scsi/aacraid/aachba.c:813:23:
warning: cast between incompatible function types from
'int (*)(struct scsi_cmnd *)' to 'void (*)(struct scsi_cmnd *)'
[-Wcast-function-type]

Link: https://lore.kernel.org/r/20200309155319.12658-1-tranmanphong@gmail.com
Reviewed-by: Bart van Assche <bvanassche@acm.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Phong Tran <tranmanphong@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/aacraid/aachba.c

index 474d48e..eb72ac8 100644 (file)
@@ -798,6 +798,11 @@ static int aac_probe_container_callback1(struct scsi_cmnd * scsicmd)
        return 0;
 }
 
+static void aac_probe_container_scsi_done(struct scsi_cmnd *scsi_cmnd)
+{
+       aac_probe_container_callback1(scsi_cmnd);
+}
+
 int aac_probe_container(struct aac_dev *dev, int cid)
 {
        struct scsi_cmnd *scsicmd = kmalloc(sizeof(*scsicmd), GFP_KERNEL);
@@ -810,7 +815,7 @@ int aac_probe_container(struct aac_dev *dev, int cid)
                return -ENOMEM;
        }
        scsicmd->list.next = NULL;
-       scsicmd->scsi_done = (void (*)(struct scsi_cmnd*))aac_probe_container_callback1;
+       scsicmd->scsi_done = aac_probe_container_scsi_done;
 
        scsicmd->device = scsidev;
        scsidev->sdev_state = 0;