]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scsi: ufs: core: Do not clear driver-private command data
authorBart Van Assche <bvanassche@acm.org>
Fri, 31 Oct 2025 20:39:30 +0000 (13:39 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 12 Nov 2025 22:02:33 +0000 (17:02 -0500)
Tell the SCSI core to skip the memset() call that clears driver-private
data because __ufshcd_setup_cmd() performs all necessary initialization.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://patch.msgid.link/20251031204029.2883185-23-bvanassche@acm.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/core/ufshcd.c

index 20eae5d9487b4a581969effb25130d5fcd697fc8..1757aa0237da6bf3a2e9f552d9baca96b12bb793 100644 (file)
@@ -2996,6 +2996,15 @@ static void ufshcd_map_queues(struct Scsi_Host *shost)
        }
 }
 
+/*
+ * The only purpose of this function is to make the SCSI core skip the memset()
+ * call for the private command data.
+ */
+static int ufshcd_init_cmd_priv(struct Scsi_Host *host, struct scsi_cmnd *cmd)
+{
+       return 0;
+}
+
 /**
  * ufshcd_queuecommand - main entry point for SCSI requests
  * @host: SCSI host pointer
@@ -9182,6 +9191,7 @@ static const struct scsi_host_template ufshcd_driver_template = {
        .name                   = UFSHCD,
        .proc_name              = UFSHCD,
        .map_queues             = ufshcd_map_queues,
+       .init_cmd_priv          = ufshcd_init_cmd_priv,
        .queuecommand           = ufshcd_queuecommand,
        .nr_reserved_cmds       = UFSHCD_NUM_RESERVED,
        .mq_poll                = ufshcd_poll,