struct ata_queued_cmd *qc = __ata_qc_from_tag(ap, tag);
                struct ata_taskfile *cmd = &qc->tf, *res = &qc->result_tf;
                const u8 *cdb = qc->cdb;
+               size_t cdb_len = qc->dev->cdb_len;
                char data_buf[20] = "";
                char cdb_buf[70] = "";
 
                }
 
                if (ata_is_atapi(qc->tf.protocol)) {
-                       if (qc->scsicmd)
-                               scsi_print_command(qc->scsicmd);
-                       else
-                               snprintf(cdb_buf, sizeof(cdb_buf),
-                                "cdb %02x %02x %02x %02x %02x %02x %02x %02x  "
-                                "%02x %02x %02x %02x %02x %02x %02x %02x\n         ",
-                                cdb[0], cdb[1], cdb[2], cdb[3],
-                                cdb[4], cdb[5], cdb[6], cdb[7],
-                                cdb[8], cdb[9], cdb[10], cdb[11],
-                                cdb[12], cdb[13], cdb[14], cdb[15]);
+                       if (qc->scsicmd) {
+                               cdb = qc->scsicmd->cmnd;
+                               cdb_len = qc->scsicmd->cmd_len;
+                       }
+                       __scsi_format_command(cdb_buf, sizeof(cdb_buf),
+                                             cdb, cdb_len);
                } else {
                        const char *descr = ata_get_cmd_descript(cmd->command);
                        if (descr)