| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * linux/drivers/acorn/scsi/fas216.c |
|---|
| 3 | 4 | * |
|---|
| 4 | 5 | * Copyright (C) 1997-2003 Russell King |
|---|
| 5 | | - * |
|---|
| 6 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 7 | | - * it under the terms of the GNU General Public License version 2 as |
|---|
| 8 | | - * published by the Free Software Foundation. |
|---|
| 9 | 6 | * |
|---|
| 10 | 7 | * Based on information in qlogicfas.c by Tom Zerucha, Michael Griffith, and |
|---|
| 11 | 8 | * other sources, including: |
|---|
| .. | .. |
|---|
| 606 | 603 | msgqueue_flush(&info->scsi.msgs); |
|---|
| 607 | 604 | msgqueue_addmsg(&info->scsi.msgs, 1, MESSAGE_REJECT); |
|---|
| 608 | 605 | info->scsi.phase = PHASE_MSGOUT_EXPECT; |
|---|
| 606 | + fallthrough; |
|---|
| 609 | 607 | |
|---|
| 610 | 608 | case async: |
|---|
| 611 | 609 | dev->period = info->ifcfg.asyncperiod / 4; |
|---|
| .. | .. |
|---|
| 918 | 916 | fas216_done(info, DID_ABORT); |
|---|
| 919 | 917 | break; |
|---|
| 920 | 918 | } |
|---|
| 919 | + fallthrough; |
|---|
| 921 | 920 | |
|---|
| 922 | 921 | default: /* huh? */ |
|---|
| 923 | 922 | printk(KERN_ERR "scsi%d.%c: unexpected disconnect in phase %s\n", |
|---|
| .. | .. |
|---|
| 1414 | 1413 | case STATE(STAT_STATUS, PHASE_DATAOUT): /* Data Out -> Status */ |
|---|
| 1415 | 1414 | case STATE(STAT_STATUS, PHASE_DATAIN): /* Data In -> Status */ |
|---|
| 1416 | 1415 | fas216_stoptransfer(info); |
|---|
| 1416 | + fallthrough; |
|---|
| 1417 | + |
|---|
| 1417 | 1418 | case STATE(STAT_STATUS, PHASE_SELSTEPS):/* Sel w/ steps -> Status */ |
|---|
| 1418 | 1419 | case STATE(STAT_STATUS, PHASE_MSGOUT): /* Message Out -> Status */ |
|---|
| 1419 | 1420 | case STATE(STAT_STATUS, PHASE_COMMAND): /* Command -> Status */ |
|---|
| .. | .. |
|---|
| 1425 | 1426 | case STATE(STAT_MESGIN, PHASE_DATAOUT): /* Data Out -> Message In */ |
|---|
| 1426 | 1427 | case STATE(STAT_MESGIN, PHASE_DATAIN): /* Data In -> Message In */ |
|---|
| 1427 | 1428 | fas216_stoptransfer(info); |
|---|
| 1429 | + fallthrough; |
|---|
| 1430 | + |
|---|
| 1428 | 1431 | case STATE(STAT_MESGIN, PHASE_COMMAND): /* Command -> Message In */ |
|---|
| 1429 | 1432 | case STATE(STAT_MESGIN, PHASE_SELSTEPS):/* Sel w/ steps -> Message In */ |
|---|
| 1430 | 1433 | case STATE(STAT_MESGIN, PHASE_MSGOUT): /* Message Out -> Message In */ |
|---|
| .. | .. |
|---|
| 1578 | 1581 | fas216_message(info); |
|---|
| 1579 | 1582 | break; |
|---|
| 1580 | 1583 | } |
|---|
| 1584 | + fallthrough; |
|---|
| 1581 | 1585 | |
|---|
| 1582 | 1586 | default: |
|---|
| 1583 | 1587 | fas216_log(info, 0, "internal phase %s for function done?" |
|---|
| .. | .. |
|---|
| 1960 | 1964 | switch (where_from) { |
|---|
| 1961 | 1965 | case TYPE_QUEUE: |
|---|
| 1962 | 1966 | fas216_allocate_tag(info, SCpnt); |
|---|
| 1967 | + fallthrough; |
|---|
| 1963 | 1968 | case TYPE_OTHER: |
|---|
| 1964 | 1969 | fas216_start_command(info, SCpnt); |
|---|
| 1965 | 1970 | break; |
|---|