tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE;
        tf->protocol = ATA_PROT_NODATA;
 
-       if (cdb[0] == VERIFY) {
+       switch (cdb[0]) {
+       case VERIFY:
                if (scmd->cmd_len < 10) {
                        fp = 9;
                        goto invalid_fld;
                }
                scsi_10_lba_len(cdb, &block, &n_block);
-       } else if (cdb[0] == VERIFY_16) {
+               break;
+       case VERIFY_16:
                if (scmd->cmd_len < 16) {
                        fp = 15;
                        goto invalid_fld;
                }
                scsi_16_lba_len(cdb, &block, &n_block);
-       } else {
+               break;
+       default:
                fp = 0;
                goto invalid_fld;
        }
        int rc;
        u16 fp = 0;
 
-       if (cdb[0] == WRITE_10 || cdb[0] == WRITE_6 || cdb[0] == WRITE_16)
+       switch (cdb[0]) {
+       case WRITE_6:
+       case WRITE_10:
+       case WRITE_16:
                tf_flags |= ATA_TFLAG_WRITE;
+               break;
+       }
 
        /* Calculate the SCSI LBA, transfer length and FUA. */
        switch (cdb[0]) {
         * 12 and 16 byte CDBs use different offsets to
         * provide the various register values.
         */
-       if (cdb[0] == ATA_16) {
+       switch (cdb[0]) {
+       case ATA_16:
                /*
                 * 16-byte CDB - may contain extended commands.
                 *
                tf->lbah = cdb[12];
                tf->device = cdb[13];
                tf->command = cdb[14];
-       } else if (cdb[0] == ATA_12) {
+               break;
+       case ATA_12:
                /*
                 * 12-byte CDB - incapable of extended commands.
                 */
                tf->lbah = cdb[7];
                tf->device = cdb[8];
                tf->command = cdb[9];
-       } else {
+               break;
+       default:
                /*
                 * 32-byte CDB - may contain extended command fields.
                 *
                tf->device = cdb[24];
                tf->command = cdb[25];
                tf->auxiliary = get_unaligned_be32(&cdb[28]);
+               break;
        }
 
        /* For NCQ commands copy the tag value */