hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/scsi/imm.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /* imm.c -- low level driver for the IOMEGA MatchMaker
23 * parallel port SCSI host adapter.
34 *
....@@ -686,7 +687,7 @@
686687 if (cmd->SCp.buffer && !cmd->SCp.this_residual) {
687688 /* if scatter/gather, advance to the next segment */
688689 if (cmd->SCp.buffers_residual--) {
689
- cmd->SCp.buffer++;
690
+ cmd->SCp.buffer = sg_next(cmd->SCp.buffer);
690691 cmd->SCp.this_residual =
691692 cmd->SCp.buffer->length;
692693 cmd->SCp.ptr = sg_virt(cmd->SCp.buffer);
....@@ -796,21 +797,21 @@
796797 return 0;
797798 }
798799 return 1; /* wait until imm_wakeup claims parport */
799
- /* Phase 1 - Connected */
800
- case 1:
800
+
801
+ case 1: /* Phase 1 - Connected */
801802 imm_connect(dev, CONNECT_EPP_MAYBE);
802803 cmd->SCp.phase++;
804
+ fallthrough;
803805
804
- /* Phase 2 - We are now talking to the scsi bus */
805
- case 2:
806
+ case 2: /* Phase 2 - We are now talking to the scsi bus */
806807 if (!imm_select(dev, scmd_id(cmd))) {
807808 imm_fail(dev, DID_NO_CONNECT);
808809 return 0;
809810 }
810811 cmd->SCp.phase++;
812
+ fallthrough;
811813
812
- /* Phase 3 - Ready to accept a command */
813
- case 3:
814
+ case 3: /* Phase 3 - Ready to accept a command */
814815 w_ctr(ppb, 0x0c);
815816 if (!(r_str(ppb) & 0x80))
816817 return 1;
....@@ -818,9 +819,9 @@
818819 if (!imm_send_command(cmd))
819820 return 0;
820821 cmd->SCp.phase++;
822
+ fallthrough;
821823
822
- /* Phase 4 - Setup scatter/gather buffers */
823
- case 4:
824
+ case 4: /* Phase 4 - Setup scatter/gather buffers */
824825 if (scsi_bufflen(cmd)) {
825826 cmd->SCp.buffer = scsi_sglist(cmd);
826827 cmd->SCp.this_residual = cmd->SCp.buffer->length;
....@@ -834,8 +835,9 @@
834835 cmd->SCp.phase++;
835836 if (cmd->SCp.this_residual & 0x01)
836837 cmd->SCp.this_residual++;
837
- /* Phase 5 - Pre-Data transfer stage */
838
- case 5:
838
+ fallthrough;
839
+
840
+ case 5: /* Phase 5 - Pre-Data transfer stage */
839841 /* Spin lock for BUSY */
840842 w_ctr(ppb, 0x0c);
841843 if (!(r_str(ppb) & 0x80))
....@@ -850,9 +852,9 @@
850852 if (imm_negotiate(dev))
851853 return 0;
852854 cmd->SCp.phase++;
855
+ fallthrough;
853856
854
- /* Phase 6 - Data transfer stage */
855
- case 6:
857
+ case 6: /* Phase 6 - Data transfer stage */
856858 /* Spin lock for BUSY */
857859 w_ctr(ppb, 0x0c);
858860 if (!(r_str(ppb) & 0x80))
....@@ -866,9 +868,9 @@
866868 return 1;
867869 }
868870 cmd->SCp.phase++;
871
+ fallthrough;
869872
870
- /* Phase 7 - Post data transfer stage */
871
- case 7:
873
+ case 7: /* Phase 7 - Post data transfer stage */
872874 if ((dev->dp) && (dev->rd)) {
873875 if ((dev->mode == IMM_NIBBLE) || (dev->mode == IMM_PS2)) {
874876 w_ctr(ppb, 0x4);
....@@ -878,9 +880,9 @@
878880 }
879881 }
880882 cmd->SCp.phase++;
883
+ fallthrough;
881884
882
- /* Phase 8 - Read status/message */
883
- case 8:
885
+ case 8: /* Phase 8 - Read status/message */
884886 /* Check for data overrun */
885887 if (imm_wait(dev) != (unsigned char) 0xb8) {
886888 imm_fail(dev, DID_ERROR);
....@@ -901,7 +903,6 @@
901903 w_ctr(ppb, 0x4);
902904 }
903905 return 0; /* Finished */
904
- break;
905906
906907 default:
907908 printk("imm: Invalid scsi phase\n");
....@@ -967,10 +968,8 @@
967968 case 1: /* Have not connected to interface */
968969 dev->cur_cmd = NULL; /* Forget the problem */
969970 return SUCCESS;
970
- break;
971971 default: /* SCSI command sent, can not abort */
972972 return FAILED;
973
- break;
974973 }
975974 }
976975
....@@ -1110,7 +1109,6 @@
11101109 .bios_param = imm_biosparam,
11111110 .this_id = 7,
11121111 .sg_tablesize = SG_ALL,
1113
- .use_clustering = ENABLE_CLUSTERING,
11141112 .can_queue = 1,
11151113 .slave_alloc = imm_adjust_queue,
11161114 };