Wimplicit-fallthrough patches for 5.2-rc1
Hi Linus, This is my very first pull-request. I've been working full-time as a kernel developer for more than two years now. During this time I've been fixing bugs reported by Coverity all over the tree and, as part of my work, I'm also contributing to the KSPP. My work in the kernel community has been supervised by Greg KH and Kees Cook. OK. So, after the quick introduction above, please, pull the following patches that mark switch cases where we are expecting to fall through. These patches are part of the ongoing efforts to enable -Wimplicit-fallthrough. They have been ignored for a long time (most of them more than 3 months, even after pinging multiple times), which is the reason why I've created this tree. Most of them have been baking in linux-next for a whole development cycle. And with Stephen Rothwell's help, we've had linux-next nag-emails going out for newly introduced code that triggers -Wimplicit-fallthrough to avoid gaining more of these cases while we work to remove the ones that are already present. I'm happy to let you know that we are getting close to completing this work. Currently, there are only 32 of 2311 of these cases left to be addressed in linux-next. I'm auditing every case; I take a look into the code and analyze it in order to determine if I'm dealing with an actual bug or a false positive, as explained here: https://lore.kernel.org/lkml/c2fad584-1705-a5f2-d63c-824e9b96cf50@embeddedor.com/ While working on this, I've found and fixed the following missing break/return bugs, some of them introduced more than 5 years ago:84242b82d8
7850b51b6c
5e420fe635
09186e5034
b5be853181
7264235ee7
cc5034a5d2
479826cc86
5340f23df8
df997abeeb
2f10d82373
307b00c5e6
5d25ff7a54
a7ed5b3e7d
c24bfa8f21
ad0eaee619
9ba8376ce1
dc586a60a1
a8e9b186f1
4e57562b48
60747828ea
c5b974bee9
cc44ba9116
2c930e3d0a
Once this work is finish, we'll be able to universally enable "-Wimplicit-fallthrough" to avoid any of these kinds of bugs from entering the kernel again. Thanks Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEkmRahXBSurMIg1YvRwW0y0cG2zEFAlzQR2IACgkQRwW0y0cG 2zEJbQ//X930OcBtT/9DRW4XL1Jeq0Mjssz/GLX2Vpup5CwwcTROG65no80Zezf/ yQRWnUjGX0OBv/fmUK32/nTxI/7k7NkmIXJHe0HiEF069GEENB7FT6tfDzIPjU8M qQkB8NsSUWJs3IH6BVynb/9MGE1VpGBDbYk7CBZRtRJT1RMM+3kQPucgiZMgUBPo Yd9zKwn4i/8tcOCli++EUdQ29ukMoY2R3qpK4LftdX9sXLKZBWNwQbiCwSkjnvJK I6FDiA7RaWH2wWGlL7BpN5RrvAXp3z8QN/JZnivIGt4ijtAyxFUL/9KOEgQpBQN2 6TBRhfTQFM73NCyzLgGLNzvd8awem1rKGSBBUvevaPbgesgM+Of65wmmTQRhFNCt A7+e286X1GiK3aNcjUKrByKWm7x590EWmDzmpmICxNPdt5DHQ6EkmvBdNjnxCMrO aGA24l78tBN09qN45LR7wtHYuuyR0Jt9bCmeQZmz7+x3ICDHi/+Gw7XPN/eM9+T6 lZbbINiYUyZVxOqwzkYDCsdv9+kUvu3e4rPs20NERWRpV8FEvBIyMjXAg6NAMTue K+ikkyMBxCvyw+NMimHJwtD7ho4FkLPcoeXb2ZGJTRHixiZAEtF1RaQ7dA05Q/SL gbSc0DgLZeHlLBT+BSWC2Z8SDnoIhQFXW49OmuACwCUC68NHKps= =k30z -----END PGP SIGNATURE----- Merge tag 'Wimplicit-fallthrough-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux Pull Wimplicit-fallthrough updates from Gustavo A. R. Silva: "Mark switch cases where we are expecting to fall through. This is part of the ongoing efforts to enable -Wimplicit-fallthrough. Most of them have been baking in linux-next for a whole development cycle. And with Stephen Rothwell's help, we've had linux-next nag-emails going out for newly introduced code that triggers -Wimplicit-fallthrough to avoid gaining more of these cases while we work to remove the ones that are already present. We are getting close to completing this work. Currently, there are only 32 of 2311 of these cases left to be addressed in linux-next. I'm auditing every case; I take a look into the code and analyze it in order to determine if I'm dealing with an actual bug or a false positive, as explained here: https://lore.kernel.org/lkml/c2fad584-1705-a5f2-d63c-824e9b96cf50@embeddedor.com/ While working on this, I've found and fixed the several missing break/return bugs, some of them introduced more than 5 years ago. Once this work is finished, we'll be able to universally enable "-Wimplicit-fallthrough" to avoid any of these kinds of bugs from entering the kernel again" * tag 'Wimplicit-fallthrough-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux: (27 commits) memstick: mark expected switch fall-throughs drm/nouveau/nvkm: mark expected switch fall-throughs NFC: st21nfca: Fix fall-through warnings NFC: pn533: mark expected switch fall-throughs block: Mark expected switch fall-throughs ASN.1: mark expected switch fall-through lib/cmdline.c: mark expected switch fall-throughs lib: zstd: Mark expected switch fall-throughs scsi: sym53c8xx_2: sym_nvram: Mark expected switch fall-through scsi: sym53c8xx_2: sym_hipd: mark expected switch fall-throughs scsi: ppa: mark expected switch fall-through scsi: osst: mark expected switch fall-throughs scsi: lpfc: lpfc_scsi: Mark expected switch fall-throughs scsi: lpfc: lpfc_nvme: Mark expected switch fall-through scsi: lpfc: lpfc_nportdisc: Mark expected switch fall-through scsi: lpfc: lpfc_hbadisc: Mark expected switch fall-throughs scsi: lpfc: lpfc_els: Mark expected switch fall-throughs scsi: lpfc: lpfc_ct: Mark expected switch fall-throughs scsi: imm: mark expected switch fall-throughs scsi: csiostor: csio_wr: mark expected switch fall-through ...
This commit is contained in:
commit
b4b52b881c
@ -1778,7 +1778,7 @@ static inline void __drbd_chk_io_error_(struct drbd_device *device,
|
||||
_drbd_set_state(_NS(device, disk, D_INCONSISTENT), CS_HARD, NULL);
|
||||
break;
|
||||
}
|
||||
/* NOTE fall through for DRBD_META_IO_ERROR or DRBD_FORCE_DETACH */
|
||||
/* fall through - for DRBD_META_IO_ERROR or DRBD_FORCE_DETACH */
|
||||
case EP_DETACH:
|
||||
case EP_CALL_HELPER:
|
||||
/* Remember whether we saw a READ or WRITE error.
|
||||
|
@ -3094,7 +3094,7 @@ static int drbd_asb_recover_0p(struct drbd_peer_device *peer_device) __must_hold
|
||||
rv = 1;
|
||||
break;
|
||||
}
|
||||
/* Else fall through to one of the other strategies... */
|
||||
/* Else fall through - to one of the other strategies... */
|
||||
case ASB_DISCARD_OLDER_PRI:
|
||||
if (self == 0 && peer == 1) {
|
||||
rv = 1;
|
||||
@ -3119,7 +3119,7 @@ static int drbd_asb_recover_0p(struct drbd_peer_device *peer_device) __must_hold
|
||||
}
|
||||
if (after_sb_0p == ASB_DISCARD_ZERO_CHG)
|
||||
break;
|
||||
/* else: fall through */
|
||||
/* else, fall through */
|
||||
case ASB_DISCARD_LEAST_CHG:
|
||||
if (ch_self < ch_peer)
|
||||
rv = -1;
|
||||
|
@ -866,7 +866,7 @@ int __req_mod(struct drbd_request *req, enum drbd_req_event what,
|
||||
} /* else: FIXME can this happen? */
|
||||
break;
|
||||
}
|
||||
/* else, fall through to BARRIER_ACKED */
|
||||
/* else, fall through - to BARRIER_ACKED */
|
||||
|
||||
case BARRIER_ACKED:
|
||||
/* barrier ack for READ requests does not make sense */
|
||||
|
@ -439,6 +439,7 @@ static void card_state_change(struct rsxx_cardinfo *card,
|
||||
* Fall through so the DMA devices can be attached and
|
||||
* the user can attempt to pull off their data.
|
||||
*/
|
||||
/* fall through */
|
||||
case CARD_STATE_GOOD:
|
||||
st = rsxx_get_card_size8(card, &card->size8);
|
||||
if (st)
|
||||
|
@ -23,38 +23,55 @@ void pack_hdmi_infoframe(struct packed_hdmi_infoframe *packed_frame,
|
||||
*/
|
||||
case 17:
|
||||
subpack1_high = (raw_frame[16] << 16);
|
||||
/* fall through */
|
||||
case 16:
|
||||
subpack1_high |= (raw_frame[15] << 8);
|
||||
/* fall through */
|
||||
case 15:
|
||||
subpack1_high |= raw_frame[14];
|
||||
/* fall through */
|
||||
case 14:
|
||||
subpack1_low = (raw_frame[13] << 24);
|
||||
/* fall through */
|
||||
case 13:
|
||||
subpack1_low |= (raw_frame[12] << 16);
|
||||
/* fall through */
|
||||
case 12:
|
||||
subpack1_low |= (raw_frame[11] << 8);
|
||||
/* fall through */
|
||||
case 11:
|
||||
subpack1_low |= raw_frame[10];
|
||||
/* fall through */
|
||||
case 10:
|
||||
subpack0_high = (raw_frame[9] << 16);
|
||||
/* fall through */
|
||||
case 9:
|
||||
subpack0_high |= (raw_frame[8] << 8);
|
||||
/* fall through */
|
||||
case 8:
|
||||
subpack0_high |= raw_frame[7];
|
||||
/* fall through */
|
||||
case 7:
|
||||
subpack0_low = (raw_frame[6] << 24);
|
||||
/* fall through */
|
||||
case 6:
|
||||
subpack0_low |= (raw_frame[5] << 16);
|
||||
/* fall through */
|
||||
case 5:
|
||||
subpack0_low |= (raw_frame[4] << 8);
|
||||
/* fall through */
|
||||
case 4:
|
||||
subpack0_low |= raw_frame[3];
|
||||
/* fall through */
|
||||
case 3:
|
||||
header = (raw_frame[2] << 16);
|
||||
/* fall through */
|
||||
case 2:
|
||||
header |= (raw_frame[1] << 8);
|
||||
/* fall through */
|
||||
case 1:
|
||||
header |= raw_frame[0];
|
||||
/* fall through */
|
||||
case 0:
|
||||
break;
|
||||
}
|
||||
|
@ -122,6 +122,7 @@ nv04_dmaobj_new(struct nvkm_dma *dma, const struct nvkm_oclass *oclass,
|
||||
break;
|
||||
case NV_MEM_ACCESS_WO:
|
||||
dmaobj->flags0 |= 0x00008000;
|
||||
/* fall through */
|
||||
case NV_MEM_ACCESS_RW:
|
||||
dmaobj->flags2 |= 0x00000002;
|
||||
break;
|
||||
|
@ -117,8 +117,10 @@ nv04_fifo_swmthd(struct nvkm_device *device, u32 chid, u32 addr, u32 data)
|
||||
switch (mthd) {
|
||||
case 0x0000 ... 0x0000: /* subchannel's engine -> software */
|
||||
nvkm_wr32(device, 0x003280, (engine &= ~mask));
|
||||
/* fall through */
|
||||
case 0x0180 ... 0x01fc: /* handle -> instance */
|
||||
data = nvkm_rd32(device, 0x003258) & 0x0000ffff;
|
||||
/* fall through */
|
||||
case 0x0100 ... 0x017c:
|
||||
case 0x0200 ... 0x1ffc: /* pass method down to sw */
|
||||
if (!(engine & mask) && sw)
|
||||
|
@ -81,6 +81,7 @@ nv40_fifo_init(struct nvkm_fifo *base)
|
||||
case 0x49:
|
||||
case 0x4b:
|
||||
nvkm_wr32(device, 0x002230, 0x00000001);
|
||||
/* fall through */
|
||||
case 0x40:
|
||||
case 0x41:
|
||||
case 0x42:
|
||||
|
@ -135,6 +135,7 @@ nvbios_perfEp(struct nvkm_bios *bios, int idx,
|
||||
break;
|
||||
case 0x30:
|
||||
info->script = nvbios_rd16(bios, perf + 0x02);
|
||||
/* fall through */
|
||||
case 0x35:
|
||||
info->fanspeed = nvbios_rd08(bios, perf + 0x06);
|
||||
info->voltage = nvbios_rd08(bios, perf + 0x07);
|
||||
|
@ -134,6 +134,7 @@ pll_map(struct nvkm_bios *bios)
|
||||
device->chipset == 0xaa ||
|
||||
device->chipset == 0xac)
|
||||
return g84_pll_mapping;
|
||||
/* fall through */
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
|
@ -90,6 +90,7 @@ nvkm_cstate_valid(struct nvkm_clk *clk, struct nvkm_cstate *cstate,
|
||||
case NVKM_CLK_BOOST_NONE:
|
||||
if (clk->base_khz && freq > clk->base_khz)
|
||||
return false;
|
||||
/* fall through */
|
||||
case NVKM_CLK_BOOST_BIOS:
|
||||
if (clk->boost_khz && freq > clk->boost_khz)
|
||||
return false;
|
||||
|
@ -363,6 +363,7 @@ mcp77_clk_prog(struct nvkm_clk *base)
|
||||
switch (clk->vsrc) {
|
||||
case nv_clk_src_cclk:
|
||||
mast |= 0x00400000;
|
||||
/* fall through */
|
||||
default:
|
||||
nvkm_wr32(device, 0x4600, clk->vdiv);
|
||||
}
|
||||
|
@ -131,11 +131,13 @@ nv40_ram_prog(struct nvkm_ram *base)
|
||||
nvkm_mask(device, 0x00402c, 0xc0771100, ram->ctrl);
|
||||
nvkm_wr32(device, 0x004048, ram->coef);
|
||||
nvkm_wr32(device, 0x004030, ram->coef);
|
||||
/* fall through */
|
||||
case 0x43:
|
||||
case 0x49:
|
||||
case 0x4b:
|
||||
nvkm_mask(device, 0x004038, 0xc0771100, ram->ctrl);
|
||||
nvkm_wr32(device, 0x00403c, ram->coef);
|
||||
/* fall through */
|
||||
default:
|
||||
nvkm_mask(device, 0x004020, 0xc0771100, ram->ctrl);
|
||||
nvkm_wr32(device, 0x004024, ram->coef);
|
||||
|
@ -159,6 +159,7 @@ mxm_dcb_sanitise_entry(struct nvkm_bios *bios, void *data, int idx, u16 pdcb)
|
||||
break;
|
||||
case 0x0e: /* eDP, falls through to DPint */
|
||||
ctx.outp[1] |= 0x00010000;
|
||||
/* fall through */
|
||||
case 0x07: /* DP internal, wtf is this?? HP8670w */
|
||||
ctx.outp[1] |= 0x00000004; /* use_power_scripts? */
|
||||
type = DCB_CONNECTOR_eDP;
|
||||
|
@ -259,9 +259,11 @@ static unsigned int jmb38x_ms_write_data(struct jmb38x_ms_host *host,
|
||||
case 3:
|
||||
host->io_word[0] |= buf[off + 2] << 16;
|
||||
host->io_pos++;
|
||||
/* fall through */
|
||||
case 2:
|
||||
host->io_word[0] |= buf[off + 1] << 8;
|
||||
host->io_pos++;
|
||||
/* fall through */
|
||||
case 1:
|
||||
host->io_word[0] |= buf[off];
|
||||
host->io_pos++;
|
||||
|
@ -166,9 +166,11 @@ static unsigned int tifm_ms_write_data(struct tifm_ms *host,
|
||||
case 3:
|
||||
host->io_word |= buf[off + 2] << 16;
|
||||
host->io_pos++;
|
||||
/* fall through */
|
||||
case 2:
|
||||
host->io_word |= buf[off + 1] << 8;
|
||||
host->io_pos++;
|
||||
/* fall through */
|
||||
case 1:
|
||||
host->io_word |= buf[off];
|
||||
host->io_pos++;
|
||||
|
@ -2147,6 +2147,7 @@ static int pn533_transceive(struct nfc_dev *nfc_dev,
|
||||
|
||||
break;
|
||||
}
|
||||
/* fall through */
|
||||
default:
|
||||
/* jumbo frame ? */
|
||||
if (skb->len > PN533_CMD_DATAEXCH_DATA_MAXLEN) {
|
||||
@ -2273,6 +2274,7 @@ static void pn533_wq_mi_recv(struct work_struct *work)
|
||||
|
||||
break;
|
||||
}
|
||||
/* fall through */
|
||||
default:
|
||||
skb_put_u8(skb, 1); /*TG*/
|
||||
|
||||
|
@ -400,6 +400,7 @@ static int st21nfca_tm_event_send_data(struct nfc_hci_dev *hdev,
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
@ -619,6 +620,7 @@ static void st21nfca_im_recv_dep_res_cb(void *context, struct sk_buff *skb,
|
||||
switch (ST21NFCA_NFC_DEP_PFB_TYPE(dep_res->pfb)) {
|
||||
case ST21NFCA_NFC_DEP_PFB_ACK_NACK_PDU:
|
||||
pr_err("Received a ACK/NACK PDU\n");
|
||||
/* fall through */
|
||||
case ST21NFCA_NFC_DEP_PFB_I_PDU:
|
||||
info->dep_info.curr_nfc_dep_pni =
|
||||
ST21NFCA_NFC_DEP_PFB_PNI(dep_res->pfb + 1);
|
||||
|
@ -4920,24 +4920,30 @@ ahc_fini_scbdata(struct ahc_softc *ahc)
|
||||
}
|
||||
ahc_dma_tag_destroy(ahc, scb_data->sg_dmat);
|
||||
}
|
||||
/* fall through */
|
||||
case 6:
|
||||
ahc_dmamap_unload(ahc, scb_data->sense_dmat,
|
||||
scb_data->sense_dmamap);
|
||||
/* fall through */
|
||||
case 5:
|
||||
ahc_dmamem_free(ahc, scb_data->sense_dmat, scb_data->sense,
|
||||
scb_data->sense_dmamap);
|
||||
ahc_dmamap_destroy(ahc, scb_data->sense_dmat,
|
||||
scb_data->sense_dmamap);
|
||||
/* fall through */
|
||||
case 4:
|
||||
ahc_dma_tag_destroy(ahc, scb_data->sense_dmat);
|
||||
/* fall through */
|
||||
case 3:
|
||||
ahc_dmamap_unload(ahc, scb_data->hscb_dmat,
|
||||
scb_data->hscb_dmamap);
|
||||
/* fall through */
|
||||
case 2:
|
||||
ahc_dmamem_free(ahc, scb_data->hscb_dmat, scb_data->hscbs,
|
||||
scb_data->hscb_dmamap);
|
||||
ahc_dmamap_destroy(ahc, scb_data->hscb_dmat,
|
||||
scb_data->hscb_dmamap);
|
||||
/* fall through */
|
||||
case 1:
|
||||
ahc_dma_tag_destroy(ahc, scb_data->hscb_dmat);
|
||||
break;
|
||||
@ -6002,8 +6008,8 @@ ahc_search_qinfifo(struct ahc_softc *ahc, int target, char channel,
|
||||
if ((scb->flags & SCB_ACTIVE) == 0)
|
||||
printk("Inactive SCB in Waiting List\n");
|
||||
ahc_done(ahc, scb);
|
||||
/* FALLTHROUGH */
|
||||
}
|
||||
/* fall through */
|
||||
case SEARCH_REMOVE:
|
||||
next = ahc_rem_wscb(ahc, next, prev);
|
||||
break;
|
||||
@ -7008,8 +7014,8 @@ ahc_download_instr(struct ahc_softc *ahc, u_int instrptr, uint8_t *dconsts)
|
||||
}
|
||||
address -= address_offset;
|
||||
fmt3_ins->address = address;
|
||||
/* FALLTHROUGH */
|
||||
}
|
||||
/* fall through */
|
||||
case AIC_OP_OR:
|
||||
case AIC_OP_AND:
|
||||
case AIC_OP_XOR:
|
||||
@ -7035,7 +7041,7 @@ ahc_download_instr(struct ahc_softc *ahc, u_int instrptr, uint8_t *dconsts)
|
||||
fmt1_ins->opcode = AIC_OP_AND;
|
||||
fmt1_ins->immediate = 0xff;
|
||||
}
|
||||
/* FALLTHROUGH */
|
||||
/* fall through */
|
||||
case AIC_OP_ROL:
|
||||
if ((ahc->features & AHC_ULTRA2) != 0) {
|
||||
int i, count;
|
||||
|
@ -679,6 +679,7 @@ int beiscsi_set_param(struct iscsi_cls_conn *cls_conn,
|
||||
case ISCSI_PARAM_MAX_XMIT_DLENGTH:
|
||||
if (conn->max_xmit_dlength > 65536)
|
||||
conn->max_xmit_dlength = 65536;
|
||||
/* fall through */
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
@ -1532,6 +1532,7 @@ beiscsi_hdl_get_handle(struct beiscsi_conn *beiscsi_conn,
|
||||
break;
|
||||
case UNSOL_DATA_DIGEST_ERROR_NOTIFY:
|
||||
error = 1;
|
||||
/* fall through */
|
||||
case UNSOL_DATA_NOTIFY:
|
||||
pasync_handle = pasync_ctx->async_entry[ci].data;
|
||||
break;
|
||||
|
@ -2586,6 +2586,7 @@ bfa_ioim_send_ioreq(struct bfa_ioim_s *ioim)
|
||||
case FCP_IODIR_RW:
|
||||
bfa_stats(itnim, input_reqs);
|
||||
bfa_stats(itnim, output_reqs);
|
||||
/* fall through */
|
||||
default:
|
||||
bfi_h2i_set(m->mh, BFI_MC_IOIM_IO, 0, bfa_fn_lpu(ioim->bfa));
|
||||
}
|
||||
@ -2820,6 +2821,7 @@ bfa_ioim_isr(struct bfa_s *bfa, struct bfi_msg_s *m)
|
||||
|
||||
case BFI_IOIM_STS_TIMEDOUT:
|
||||
bfa_stats(ioim->itnim, iocomp_timedout);
|
||||
/* fall through */
|
||||
case BFI_IOIM_STS_ABORTED:
|
||||
rsp->io_status = BFI_IOIM_STS_ABORTED;
|
||||
bfa_stats(ioim->itnim, iocomp_aborted);
|
||||
@ -3215,9 +3217,7 @@ bfa_tskim_sm_cleanup_qfull(struct bfa_tskim_s *tskim,
|
||||
switch (event) {
|
||||
case BFA_TSKIM_SM_DONE:
|
||||
bfa_reqq_wcancel(&tskim->reqq_wait);
|
||||
/*
|
||||
* Fall through !!!
|
||||
*/
|
||||
/* fall through */
|
||||
case BFA_TSKIM_SM_QRESUME:
|
||||
bfa_sm_set_state(tskim, bfa_tskim_sm_cleanup);
|
||||
bfa_tskim_send_abort(tskim);
|
||||
|
@ -808,6 +808,7 @@ csio_wr_destroy_queues(struct csio_hw *hw, bool cmd)
|
||||
|
||||
csio_q_eqid(hw, i) = CSIO_MAX_QID;
|
||||
}
|
||||
/* fall through */
|
||||
case CSIO_INGRESS:
|
||||
if (csio_q_iqid(hw, i) != CSIO_MAX_QID) {
|
||||
csio_wr_cleanup_iq_ftr(hw, i);
|
||||
|
@ -796,21 +796,21 @@ static int imm_engine(imm_struct *dev, struct scsi_cmnd *cmd)
|
||||
return 0;
|
||||
}
|
||||
return 1; /* wait until imm_wakeup claims parport */
|
||||
/* Phase 1 - Connected */
|
||||
case 1:
|
||||
|
||||
case 1: /* Phase 1 - Connected */
|
||||
imm_connect(dev, CONNECT_EPP_MAYBE);
|
||||
cmd->SCp.phase++;
|
||||
/* fall through */
|
||||
|
||||
/* Phase 2 - We are now talking to the scsi bus */
|
||||
case 2:
|
||||
case 2: /* Phase 2 - We are now talking to the scsi bus */
|
||||
if (!imm_select(dev, scmd_id(cmd))) {
|
||||
imm_fail(dev, DID_NO_CONNECT);
|
||||
return 0;
|
||||
}
|
||||
cmd->SCp.phase++;
|
||||
/* fall through */
|
||||
|
||||
/* Phase 3 - Ready to accept a command */
|
||||
case 3:
|
||||
case 3: /* Phase 3 - Ready to accept a command */
|
||||
w_ctr(ppb, 0x0c);
|
||||
if (!(r_str(ppb) & 0x80))
|
||||
return 1;
|
||||
@ -818,9 +818,9 @@ static int imm_engine(imm_struct *dev, struct scsi_cmnd *cmd)
|
||||
if (!imm_send_command(cmd))
|
||||
return 0;
|
||||
cmd->SCp.phase++;
|
||||
/* fall through */
|
||||
|
||||
/* Phase 4 - Setup scatter/gather buffers */
|
||||
case 4:
|
||||
case 4: /* Phase 4 - Setup scatter/gather buffers */
|
||||
if (scsi_bufflen(cmd)) {
|
||||
cmd->SCp.buffer = scsi_sglist(cmd);
|
||||
cmd->SCp.this_residual = cmd->SCp.buffer->length;
|
||||
@ -834,8 +834,9 @@ static int imm_engine(imm_struct *dev, struct scsi_cmnd *cmd)
|
||||
cmd->SCp.phase++;
|
||||
if (cmd->SCp.this_residual & 0x01)
|
||||
cmd->SCp.this_residual++;
|
||||
/* Phase 5 - Pre-Data transfer stage */
|
||||
case 5:
|
||||
/* fall through */
|
||||
|
||||
case 5: /* Phase 5 - Pre-Data transfer stage */
|
||||
/* Spin lock for BUSY */
|
||||
w_ctr(ppb, 0x0c);
|
||||
if (!(r_str(ppb) & 0x80))
|
||||
@ -850,9 +851,9 @@ static int imm_engine(imm_struct *dev, struct scsi_cmnd *cmd)
|
||||
if (imm_negotiate(dev))
|
||||
return 0;
|
||||
cmd->SCp.phase++;
|
||||
/* fall through */
|
||||
|
||||
/* Phase 6 - Data transfer stage */
|
||||
case 6:
|
||||
case 6: /* Phase 6 - Data transfer stage */
|
||||
/* Spin lock for BUSY */
|
||||
w_ctr(ppb, 0x0c);
|
||||
if (!(r_str(ppb) & 0x80))
|
||||
@ -866,9 +867,9 @@ static int imm_engine(imm_struct *dev, struct scsi_cmnd *cmd)
|
||||
return 1;
|
||||
}
|
||||
cmd->SCp.phase++;
|
||||
/* fall through */
|
||||
|
||||
/* Phase 7 - Post data transfer stage */
|
||||
case 7:
|
||||
case 7: /* Phase 7 - Post data transfer stage */
|
||||
if ((dev->dp) && (dev->rd)) {
|
||||
if ((dev->mode == IMM_NIBBLE) || (dev->mode == IMM_PS2)) {
|
||||
w_ctr(ppb, 0x4);
|
||||
@ -878,9 +879,9 @@ static int imm_engine(imm_struct *dev, struct scsi_cmnd *cmd)
|
||||
}
|
||||
}
|
||||
cmd->SCp.phase++;
|
||||
/* fall through */
|
||||
|
||||
/* Phase 8 - Read status/message */
|
||||
case 8:
|
||||
case 8: /* Phase 8 - Read status/message */
|
||||
/* Check for data overrun */
|
||||
if (imm_wait(dev) != (unsigned char) 0xb8) {
|
||||
imm_fail(dev, DID_ERROR);
|
||||
|
@ -3092,6 +3092,7 @@ port_out:
|
||||
case SLI_MGMT_GHAT:
|
||||
case SLI_MGMT_GRPL:
|
||||
rsp_size = FC_MAX_NS_RSP;
|
||||
/* fall through */
|
||||
case SLI_MGMT_DHBA:
|
||||
case SLI_MGMT_DHAT:
|
||||
pe = (struct lpfc_fdmi_port_entry *)&CtReq->un.PortID;
|
||||
@ -3104,6 +3105,7 @@ port_out:
|
||||
case SLI_MGMT_GPAT:
|
||||
case SLI_MGMT_GPAS:
|
||||
rsp_size = FC_MAX_NS_RSP;
|
||||
/* fall through */
|
||||
case SLI_MGMT_DPRT:
|
||||
case SLI_MGMT_DPA:
|
||||
pe = (struct lpfc_fdmi_port_entry *)&CtReq->un.PortID;
|
||||
|
@ -8775,6 +8775,7 @@ lpfc_cmpl_reg_new_vport(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
|
||||
lpfc_nlp_put(ndlp);
|
||||
return;
|
||||
}
|
||||
/* fall through */
|
||||
|
||||
default:
|
||||
/* Try to recover from this error */
|
||||
|
@ -4667,9 +4667,11 @@ lpfc_check_sli_ndlp(struct lpfc_hba *phba,
|
||||
case CMD_GEN_REQUEST64_CR:
|
||||
if (iocb->context_un.ndlp == ndlp)
|
||||
return 1;
|
||||
/* fall through */
|
||||
case CMD_ELS_REQUEST64_CR:
|
||||
if (icmd->un.elsreq64.remoteID == ndlp->nlp_DID)
|
||||
return 1;
|
||||
/* fall through */
|
||||
case CMD_XMIT_ELS_RSP64_CX:
|
||||
if (iocb->context1 == (uint8_t *) ndlp)
|
||||
return 1;
|
||||
@ -5856,7 +5858,7 @@ restart_disc:
|
||||
|
||||
case LPFC_LINK_UP:
|
||||
lpfc_issue_clear_la(phba, vport);
|
||||
/* Drop thru */
|
||||
/* fall through */
|
||||
case LPFC_LINK_UNKNOWN:
|
||||
case LPFC_WARM_START:
|
||||
case LPFC_INIT_START:
|
||||
|
@ -360,6 +360,7 @@ lpfc_rcv_plogi(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
|
||||
case NLP_STE_NPR_NODE:
|
||||
if (!(ndlp->nlp_flag & NLP_NPR_ADISC))
|
||||
break;
|
||||
/* fall through */
|
||||
case NLP_STE_REG_LOGIN_ISSUE:
|
||||
case NLP_STE_PRLI_ISSUE:
|
||||
case NLP_STE_UNMAPPED_NODE:
|
||||
|
@ -1106,6 +1106,7 @@ lpfc_nvme_io_cmd_wqe_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pwqeIn,
|
||||
lpfc_ncmd, nCmd,
|
||||
lpfc_ncmd->cur_iocbq.sli4_xritag,
|
||||
bf_get(lpfc_wcqe_c_xb, wcqe));
|
||||
/* fall through */
|
||||
default:
|
||||
out_err:
|
||||
lpfc_printf_vlog(vport, KERN_INFO, LOG_NVME_IOERR,
|
||||
|
@ -1137,7 +1137,7 @@ lpfc_bg_err_inject(struct lpfc_hba *phba, struct scsi_cmnd *sc,
|
||||
|
||||
break;
|
||||
}
|
||||
/* Drop thru */
|
||||
/* fall through */
|
||||
case SCSI_PROT_WRITE_INSERT:
|
||||
/*
|
||||
* For WRITE_INSERT, force the error
|
||||
@ -1256,7 +1256,7 @@ lpfc_bg_err_inject(struct lpfc_hba *phba, struct scsi_cmnd *sc,
|
||||
rc = BG_ERR_TGT | BG_ERR_CHECK;
|
||||
break;
|
||||
}
|
||||
/* Drop thru */
|
||||
/* fall through */
|
||||
case SCSI_PROT_WRITE_INSERT:
|
||||
/*
|
||||
* For WRITE_INSERT, force the
|
||||
@ -1338,7 +1338,7 @@ lpfc_bg_err_inject(struct lpfc_hba *phba, struct scsi_cmnd *sc,
|
||||
switch (op) {
|
||||
case SCSI_PROT_WRITE_PASS:
|
||||
rc = BG_ERR_CHECK;
|
||||
/* Drop thru */
|
||||
/* fall through */
|
||||
|
||||
case SCSI_PROT_WRITE_INSERT:
|
||||
/*
|
||||
@ -3822,7 +3822,7 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
|
||||
lpfc_cmd->cur_iocbq.sli4_lxritag,
|
||||
0, 0);
|
||||
}
|
||||
/* else: fall through */
|
||||
/* fall through */
|
||||
default:
|
||||
cmd->result = DID_ERROR << 16;
|
||||
break;
|
||||
|
@ -216,12 +216,14 @@ static void osst_analyze_sense(struct osst_request *SRpnt, struct st_cmdstatus *
|
||||
switch (sense[0] & 0x7f) {
|
||||
case 0x71:
|
||||
s->deferred = 1;
|
||||
/* fall through */
|
||||
case 0x70:
|
||||
s->fixed_format = 1;
|
||||
s->flags = sense[2] & 0xe0;
|
||||
break;
|
||||
case 0x73:
|
||||
s->deferred = 1;
|
||||
/* fall through */
|
||||
case 0x72:
|
||||
s->fixed_format = 0;
|
||||
ucp = scsi_sense_desc_find(sense, SCSI_SENSE_BUFFERSIZE, 4);
|
||||
@ -591,6 +593,7 @@ static void osst_init_aux(struct osst_tape * STp, int frame_type, int frame_seq_
|
||||
dat->dat_list[0].flags = frame_type==OS_FRAME_TYPE_MARKER?
|
||||
OS_DAT_FLAGS_MARK:OS_DAT_FLAGS_DATA;
|
||||
dat->dat_list[0].reserved = 0;
|
||||
/* fall through */
|
||||
case OS_FRAME_TYPE_EOD:
|
||||
aux->update_frame_cntr = htonl(0);
|
||||
par->partition_num = OS_DATA_PARTITION;
|
||||
@ -4086,6 +4089,7 @@ static int osst_int_ioctl(struct osst_tape * STp, struct osst_request ** aSRpnt,
|
||||
switch (cmd_in) {
|
||||
case MTFSFM:
|
||||
chg_eof = 0; /* Changed from the FSF after this */
|
||||
/* fall through */
|
||||
case MTFSF:
|
||||
if (STp->raw)
|
||||
return (-EIO);
|
||||
@ -4101,6 +4105,7 @@ static int osst_int_ioctl(struct osst_tape * STp, struct osst_request ** aSRpnt,
|
||||
|
||||
case MTBSF:
|
||||
chg_eof = 0; /* Changed from the FSF after this */
|
||||
/* fall through */
|
||||
case MTBSFM:
|
||||
if (STp->raw)
|
||||
return (-EIO);
|
||||
@ -4312,6 +4317,7 @@ static int osst_int_ioctl(struct osst_tape * STp, struct osst_request ** aSRpnt,
|
||||
name, STp->block_size);
|
||||
return 0;
|
||||
}
|
||||
/* fall through */
|
||||
case MTSETDENSITY: /* Set tape density */
|
||||
case MTSETDRVBUFFER: /* Set drive buffering */
|
||||
case SET_DENS_AND_BLK: /* Set density and block size */
|
||||
|
@ -717,6 +717,7 @@ static int ppa_engine(ppa_struct *dev, struct scsi_cmnd *cmd)
|
||||
}
|
||||
cmd->SCp.phase++;
|
||||
}
|
||||
/* fall through */
|
||||
|
||||
case 2: /* Phase 2 - We are now talking to the scsi bus */
|
||||
if (!ppa_select(dev, scmd_id(cmd))) {
|
||||
|
@ -3072,6 +3072,7 @@ static void sym_sir_bad_scsi_status(struct sym_hcb *np, int num, struct sym_ccb
|
||||
sym_print_addr(cp->cmd, "%s\n",
|
||||
s_status == S_BUSY ? "BUSY" : "QUEUE FULL\n");
|
||||
}
|
||||
/* fall through */
|
||||
default: /* S_INT, S_INT_COND_MET, S_CONFLICT */
|
||||
sym_complete_error (np, cp);
|
||||
break;
|
||||
@ -4632,6 +4633,7 @@ static void sym_int_sir(struct sym_hcb *np)
|
||||
* Negotiation failed.
|
||||
* Target does not want answer message.
|
||||
*/
|
||||
/* fall through */
|
||||
case SIR_NEGO_PROTO:
|
||||
sym_nego_default(np, tp, cp);
|
||||
goto out;
|
||||
|
@ -708,6 +708,7 @@ static int sym_read_Tekram_nvram (struct sym_device *np, Tekram_nvram *nvram)
|
||||
data, len);
|
||||
if (!x)
|
||||
break;
|
||||
/* fall through */
|
||||
default:
|
||||
x = sym_read_T93C46_nvram(np, nvram);
|
||||
break;
|
||||
|
@ -24,8 +24,11 @@ static inline unsigned int adfs_readval(unsigned char *p, int len)
|
||||
|
||||
switch (len) {
|
||||
case 4: val |= p[3] << 24;
|
||||
/* fall through */
|
||||
case 3: val |= p[2] << 16;
|
||||
/* fall through */
|
||||
case 2: val |= p[1] << 8;
|
||||
/* fall through */
|
||||
default: val |= p[0];
|
||||
}
|
||||
return val;
|
||||
@ -35,8 +38,11 @@ static inline void adfs_writeval(unsigned char *p, int len, unsigned int val)
|
||||
{
|
||||
switch (len) {
|
||||
case 4: p[3] = val >> 24;
|
||||
/* fall through */
|
||||
case 3: p[2] = val >> 16;
|
||||
/* fall through */
|
||||
case 2: p[1] = val >> 8;
|
||||
/* fall through */
|
||||
default: p[0] = val;
|
||||
}
|
||||
}
|
||||
|
@ -481,7 +481,7 @@ got_root:
|
||||
break;
|
||||
case MUFS_OFS:
|
||||
affs_set_opt(sbi->s_flags, SF_MUFS);
|
||||
/* fall thru */
|
||||
/* fall through */
|
||||
case FS_OFS:
|
||||
affs_set_opt(sbi->s_flags, SF_OFS);
|
||||
sb->s_flags |= SB_NOEXEC;
|
||||
@ -489,6 +489,7 @@ got_root:
|
||||
case MUFS_DCOFS:
|
||||
case MUFS_INTLOFS:
|
||||
affs_set_opt(sbi->s_flags, SF_MUFS);
|
||||
/* fall through */
|
||||
case FS_DCOFS:
|
||||
case FS_INTLOFS:
|
||||
affs_set_opt(sbi->s_flags, SF_INTL);
|
||||
|
@ -285,6 +285,7 @@ static int afs_deliver_cb_callback(struct afs_call *call)
|
||||
call->unmarshall++;
|
||||
|
||||
/* extract the FID array and its count in two steps */
|
||||
/* fall through */
|
||||
case 1:
|
||||
_debug("extract FID count");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -304,6 +305,7 @@ static int afs_deliver_cb_callback(struct afs_call *call)
|
||||
afs_extract_to_buf(call, call->count * 3 * 4);
|
||||
call->unmarshall++;
|
||||
|
||||
/* Fall through */
|
||||
case 2:
|
||||
_debug("extract FID array");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -329,6 +331,7 @@ static int afs_deliver_cb_callback(struct afs_call *call)
|
||||
call->unmarshall++;
|
||||
|
||||
/* extract the callback array and its count in two steps */
|
||||
/* fall through */
|
||||
case 3:
|
||||
_debug("extract CB count");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -344,6 +347,7 @@ static int afs_deliver_cb_callback(struct afs_call *call)
|
||||
iov_iter_discard(&call->iter, READ, call->count2 * 3 * 4);
|
||||
call->unmarshall++;
|
||||
|
||||
/* Fall through */
|
||||
case 4:
|
||||
_debug("extract discard %zu/%u",
|
||||
iov_iter_count(&call->iter), call->count2 * 3 * 4);
|
||||
@ -422,6 +426,7 @@ static int afs_deliver_cb_init_call_back_state3(struct afs_call *call)
|
||||
afs_extract_to_buf(call, 11 * sizeof(__be32));
|
||||
call->unmarshall++;
|
||||
|
||||
/* Fall through */
|
||||
case 1:
|
||||
_debug("extract UUID");
|
||||
ret = afs_extract_data(call, false);
|
||||
@ -537,6 +542,7 @@ static int afs_deliver_cb_probe_uuid(struct afs_call *call)
|
||||
afs_extract_to_buf(call, 11 * sizeof(__be32));
|
||||
call->unmarshall++;
|
||||
|
||||
/* Fall through */
|
||||
case 1:
|
||||
_debug("extract UUID");
|
||||
ret = afs_extract_data(call, false);
|
||||
@ -673,6 +679,7 @@ static int afs_deliver_yfs_cb_callback(struct afs_call *call)
|
||||
call->unmarshall++;
|
||||
|
||||
/* extract the FID array and its count in two steps */
|
||||
/* Fall through */
|
||||
case 1:
|
||||
_debug("extract FID count");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -692,6 +699,7 @@ static int afs_deliver_yfs_cb_callback(struct afs_call *call)
|
||||
afs_extract_to_buf(call, size);
|
||||
call->unmarshall++;
|
||||
|
||||
/* Fall through */
|
||||
case 2:
|
||||
_debug("extract FID array");
|
||||
ret = afs_extract_data(call, false);
|
||||
|
@ -300,6 +300,8 @@ int afs_page_filler(void *data, struct page *page)
|
||||
/* page will not be cached */
|
||||
case -ENOBUFS:
|
||||
_debug("cache said ENOBUFS");
|
||||
|
||||
/* fall through */
|
||||
default:
|
||||
go_on:
|
||||
req = kzalloc(sizeof(struct afs_read) + sizeof(struct page *),
|
||||
|
@ -303,6 +303,7 @@ again:
|
||||
return;
|
||||
}
|
||||
|
||||
/* Fall through */
|
||||
default:
|
||||
/* Looks like a lock request was withdrawn. */
|
||||
spin_unlock(&vnode->lock);
|
||||
|
@ -498,7 +498,7 @@ static int afs_deliver_fs_fetch_data(struct afs_call *call)
|
||||
afs_extract_to_tmp(call);
|
||||
}
|
||||
|
||||
/* extract the returned data length */
|
||||
/* Fall through - and extract the returned data length */
|
||||
case 1:
|
||||
_debug("extract data length");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -525,7 +525,7 @@ static int afs_deliver_fs_fetch_data(struct afs_call *call)
|
||||
iov_iter_bvec(&call->iter, READ, call->bvec, 1, size);
|
||||
ASSERTCMP(size, <=, PAGE_SIZE);
|
||||
|
||||
/* extract the returned data */
|
||||
/* Fall through - and extract the returned data */
|
||||
case 2:
|
||||
_debug("extract data %zu/%llu",
|
||||
iov_iter_count(&call->iter), req->remain);
|
||||
@ -552,6 +552,8 @@ static int afs_deliver_fs_fetch_data(struct afs_call *call)
|
||||
/* Discard any excess data the server gave us */
|
||||
iov_iter_discard(&call->iter, READ, req->actual_len - req->len);
|
||||
call->unmarshall = 3;
|
||||
|
||||
/* Fall through */
|
||||
case 3:
|
||||
_debug("extract discard %zu/%llu",
|
||||
iov_iter_count(&call->iter), req->actual_len - req->len);
|
||||
@ -564,7 +566,7 @@ static int afs_deliver_fs_fetch_data(struct afs_call *call)
|
||||
call->unmarshall = 4;
|
||||
afs_extract_to_buf(call, (21 + 3 + 6) * 4);
|
||||
|
||||
/* extract the metadata */
|
||||
/* Fall through - and extract the metadata */
|
||||
case 4:
|
||||
ret = afs_extract_data(call, false);
|
||||
if (ret < 0)
|
||||
@ -1634,7 +1636,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
call->unmarshall++;
|
||||
afs_extract_to_buf(call, 12 * 4);
|
||||
|
||||
/* extract the returned status record */
|
||||
/* Fall through - and extract the returned status record */
|
||||
case 1:
|
||||
_debug("extract status");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -1646,7 +1648,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
call->unmarshall++;
|
||||
afs_extract_to_tmp(call);
|
||||
|
||||
/* extract the volume name length */
|
||||
/* Fall through - and extract the volume name length */
|
||||
case 2:
|
||||
ret = afs_extract_data(call, true);
|
||||
if (ret < 0)
|
||||
@ -1661,7 +1663,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
afs_extract_begin(call, call->reply[2], size);
|
||||
call->unmarshall++;
|
||||
|
||||
/* extract the volume name */
|
||||
/* Fall through - and extract the volume name */
|
||||
case 3:
|
||||
_debug("extract volname");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -1674,7 +1676,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
afs_extract_to_tmp(call);
|
||||
call->unmarshall++;
|
||||
|
||||
/* extract the offline message length */
|
||||
/* Fall through - and extract the offline message length */
|
||||
case 4:
|
||||
ret = afs_extract_data(call, true);
|
||||
if (ret < 0)
|
||||
@ -1689,7 +1691,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
afs_extract_begin(call, call->reply[2], size);
|
||||
call->unmarshall++;
|
||||
|
||||
/* extract the offline message */
|
||||
/* Fall through - and extract the offline message */
|
||||
case 5:
|
||||
_debug("extract offline");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -1703,7 +1705,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
afs_extract_to_tmp(call);
|
||||
call->unmarshall++;
|
||||
|
||||
/* extract the message of the day length */
|
||||
/* Fall through - and extract the message of the day length */
|
||||
case 6:
|
||||
ret = afs_extract_data(call, true);
|
||||
if (ret < 0)
|
||||
@ -1718,7 +1720,7 @@ static int afs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
afs_extract_begin(call, call->reply[2], size);
|
||||
call->unmarshall++;
|
||||
|
||||
/* extract the message of the day */
|
||||
/* Fall through - and extract the message of the day */
|
||||
case 7:
|
||||
_debug("extract motd");
|
||||
ret = afs_extract_data(call, false);
|
||||
@ -2016,7 +2018,7 @@ static int afs_deliver_fs_get_capabilities(struct afs_call *call)
|
||||
afs_extract_to_tmp(call);
|
||||
call->unmarshall++;
|
||||
|
||||
/* Extract the capabilities word count */
|
||||
/* Fall through - and extract the capabilities word count */
|
||||
case 1:
|
||||
ret = afs_extract_data(call, true);
|
||||
if (ret < 0)
|
||||
@ -2029,7 +2031,7 @@ static int afs_deliver_fs_get_capabilities(struct afs_call *call)
|
||||
iov_iter_discard(&call->iter, READ, count * sizeof(__be32));
|
||||
call->unmarshall++;
|
||||
|
||||
/* Extract capabilities words */
|
||||
/* Fall through - and extract capabilities words */
|
||||
case 2:
|
||||
ret = afs_extract_data(call, false);
|
||||
if (ret < 0)
|
||||
@ -2206,6 +2208,7 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
|
||||
call->unmarshall++;
|
||||
|
||||
/* Extract the file status count and array in two steps */
|
||||
/* Fall through */
|
||||
case 1:
|
||||
_debug("extract status count");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -2223,6 +2226,7 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
|
||||
more_counts:
|
||||
afs_extract_to_buf(call, 21 * sizeof(__be32));
|
||||
|
||||
/* Fall through */
|
||||
case 2:
|
||||
_debug("extract status array %u", call->count);
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -2246,6 +2250,7 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
|
||||
afs_extract_to_tmp(call);
|
||||
|
||||
/* Extract the callback count and array in two steps */
|
||||
/* Fall through */
|
||||
case 3:
|
||||
_debug("extract CB count");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -2262,6 +2267,7 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
|
||||
more_cbs:
|
||||
afs_extract_to_buf(call, 3 * sizeof(__be32));
|
||||
|
||||
/* Fall through */
|
||||
case 4:
|
||||
_debug("extract CB array");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -2284,6 +2290,7 @@ static int afs_deliver_fs_inline_bulk_status(struct afs_call *call)
|
||||
afs_extract_to_buf(call, 6 * sizeof(__be32));
|
||||
call->unmarshall++;
|
||||
|
||||
/* Fall through */
|
||||
case 5:
|
||||
ret = afs_extract_data(call, false);
|
||||
if (ret < 0)
|
||||
|
@ -131,33 +131,42 @@ void afs_prioritise_error(struct afs_error *e, int error, u32 abort_code)
|
||||
if (e->error == -ETIMEDOUT ||
|
||||
e->error == -ETIME)
|
||||
return;
|
||||
/* Fall through */
|
||||
case -ETIMEDOUT:
|
||||
case -ETIME:
|
||||
if (e->error == -ENOMEM ||
|
||||
e->error == -ENONET)
|
||||
return;
|
||||
/* Fall through */
|
||||
case -ENOMEM:
|
||||
case -ENONET:
|
||||
if (e->error == -ERFKILL)
|
||||
return;
|
||||
/* Fall through */
|
||||
case -ERFKILL:
|
||||
if (e->error == -EADDRNOTAVAIL)
|
||||
return;
|
||||
/* Fall through */
|
||||
case -EADDRNOTAVAIL:
|
||||
if (e->error == -ENETUNREACH)
|
||||
return;
|
||||
/* Fall through */
|
||||
case -ENETUNREACH:
|
||||
if (e->error == -EHOSTUNREACH)
|
||||
return;
|
||||
/* Fall through */
|
||||
case -EHOSTUNREACH:
|
||||
if (e->error == -EHOSTDOWN)
|
||||
return;
|
||||
/* Fall through */
|
||||
case -EHOSTDOWN:
|
||||
if (e->error == -ECONNREFUSED)
|
||||
return;
|
||||
/* Fall through */
|
||||
case -ECONNREFUSED:
|
||||
if (e->error == -ECONNRESET)
|
||||
return;
|
||||
/* Fall through */
|
||||
case -ECONNRESET: /* Responded, but call expired. */
|
||||
if (e->responded)
|
||||
return;
|
||||
|
@ -923,6 +923,7 @@ void afs_send_empty_reply(struct afs_call *call)
|
||||
_debug("oom");
|
||||
rxrpc_kernel_abort_call(net->socket, call->rxcall,
|
||||
RX_USER_ABORT, -ENOMEM, "KOO");
|
||||
/* Fall through */
|
||||
default:
|
||||
_leave(" [error]");
|
||||
return;
|
||||
|
@ -195,7 +195,9 @@ static int afs_deliver_vl_get_addrs_u(struct afs_call *call)
|
||||
sizeof(struct afs_uuid__xdr) + 3 * sizeof(__be32));
|
||||
call->unmarshall++;
|
||||
|
||||
/* Extract the returned uuid, uniquifier, nentries and blkaddrs size */
|
||||
/* Extract the returned uuid, uniquifier, nentries and
|
||||
* blkaddrs size */
|
||||
/* Fall through */
|
||||
case 1:
|
||||
ret = afs_extract_data(call, true);
|
||||
if (ret < 0)
|
||||
@ -220,7 +222,7 @@ static int afs_deliver_vl_get_addrs_u(struct afs_call *call)
|
||||
count = min(call->count, 4U);
|
||||
afs_extract_to_buf(call, count * sizeof(__be32));
|
||||
|
||||
/* Extract entries */
|
||||
/* Fall through - and extract entries */
|
||||
case 2:
|
||||
ret = afs_extract_data(call, call->count > 4);
|
||||
if (ret < 0)
|
||||
@ -323,7 +325,7 @@ static int afs_deliver_vl_get_capabilities(struct afs_call *call)
|
||||
afs_extract_to_tmp(call);
|
||||
call->unmarshall++;
|
||||
|
||||
/* Extract the capabilities word count */
|
||||
/* Fall through - and extract the capabilities word count */
|
||||
case 1:
|
||||
ret = afs_extract_data(call, true);
|
||||
if (ret < 0)
|
||||
@ -336,7 +338,7 @@ static int afs_deliver_vl_get_capabilities(struct afs_call *call)
|
||||
call->unmarshall++;
|
||||
afs_extract_discard(call, count * sizeof(__be32));
|
||||
|
||||
/* Extract capabilities words */
|
||||
/* Fall through - and extract capabilities words */
|
||||
case 2:
|
||||
ret = afs_extract_data(call, false);
|
||||
if (ret < 0)
|
||||
@ -436,6 +438,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
|
||||
/* Extract the returned uuid, uniquifier, fsEndpoints count and
|
||||
* either the first fsEndpoint type or the volEndpoints
|
||||
* count if there are no fsEndpoints. */
|
||||
/* Fall through */
|
||||
case 1:
|
||||
ret = afs_extract_data(call, true);
|
||||
if (ret < 0)
|
||||
@ -476,7 +479,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
|
||||
afs_extract_to_buf(call, size);
|
||||
call->unmarshall = 2;
|
||||
|
||||
/* Extract fsEndpoints[] entries */
|
||||
/* Fall through - and extract fsEndpoints[] entries */
|
||||
case 2:
|
||||
ret = afs_extract_data(call, true);
|
||||
if (ret < 0)
|
||||
@ -529,6 +532,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
|
||||
* extract the type of the next endpoint when we extract the
|
||||
* data of the current one, but this is the first...
|
||||
*/
|
||||
/* Fall through */
|
||||
case 3:
|
||||
ret = afs_extract_data(call, true);
|
||||
if (ret < 0)
|
||||
@ -555,7 +559,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
|
||||
afs_extract_to_buf(call, size);
|
||||
call->unmarshall = 4;
|
||||
|
||||
/* Extract volEndpoints[] entries */
|
||||
/* Fall through - and extract volEndpoints[] entries */
|
||||
case 4:
|
||||
ret = afs_extract_data(call, true);
|
||||
if (ret < 0)
|
||||
@ -591,7 +595,7 @@ static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call)
|
||||
afs_extract_discard(call, 0);
|
||||
call->unmarshall = 5;
|
||||
|
||||
/* Done */
|
||||
/* Fall through - Done */
|
||||
case 5:
|
||||
ret = afs_extract_data(call, false);
|
||||
if (ret < 0)
|
||||
|
@ -544,7 +544,7 @@ static int yfs_deliver_fs_fetch_data64(struct afs_call *call)
|
||||
afs_extract_to_tmp64(call);
|
||||
call->unmarshall++;
|
||||
|
||||
/* extract the returned data length */
|
||||
/* Fall through - and extract the returned data length */
|
||||
case 1:
|
||||
_debug("extract data length");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -571,7 +571,7 @@ static int yfs_deliver_fs_fetch_data64(struct afs_call *call)
|
||||
iov_iter_bvec(&call->iter, READ, call->bvec, 1, size);
|
||||
ASSERTCMP(size, <=, PAGE_SIZE);
|
||||
|
||||
/* extract the returned data */
|
||||
/* Fall through - and extract the returned data */
|
||||
case 2:
|
||||
_debug("extract data %zu/%llu",
|
||||
iov_iter_count(&call->iter), req->remain);
|
||||
@ -598,6 +598,8 @@ static int yfs_deliver_fs_fetch_data64(struct afs_call *call)
|
||||
/* Discard any excess data the server gave us */
|
||||
iov_iter_discard(&call->iter, READ, req->actual_len - req->len);
|
||||
call->unmarshall = 3;
|
||||
|
||||
/* Fall through */
|
||||
case 3:
|
||||
_debug("extract discard %zu/%llu",
|
||||
iov_iter_count(&call->iter), req->actual_len - req->len);
|
||||
@ -613,7 +615,7 @@ static int yfs_deliver_fs_fetch_data64(struct afs_call *call)
|
||||
sizeof(struct yfs_xdr_YFSCallBack) +
|
||||
sizeof(struct yfs_xdr_YFSVolSync));
|
||||
|
||||
/* extract the metadata */
|
||||
/* Fall through - and extract the metadata */
|
||||
case 4:
|
||||
ret = afs_extract_data(call, false);
|
||||
if (ret < 0)
|
||||
@ -629,6 +631,7 @@ static int yfs_deliver_fs_fetch_data64(struct afs_call *call)
|
||||
|
||||
call->unmarshall++;
|
||||
|
||||
/* Fall through */
|
||||
case 5:
|
||||
break;
|
||||
}
|
||||
@ -1584,7 +1587,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
call->unmarshall++;
|
||||
afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSFetchVolumeStatus));
|
||||
|
||||
/* extract the returned status record */
|
||||
/* Fall through - and extract the returned status record */
|
||||
case 1:
|
||||
_debug("extract status");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -1596,7 +1599,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
call->unmarshall++;
|
||||
afs_extract_to_tmp(call);
|
||||
|
||||
/* extract the volume name length */
|
||||
/* Fall through - and extract the volume name length */
|
||||
case 2:
|
||||
ret = afs_extract_data(call, true);
|
||||
if (ret < 0)
|
||||
@ -1611,7 +1614,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
afs_extract_begin(call, call->reply[2], size);
|
||||
call->unmarshall++;
|
||||
|
||||
/* extract the volume name */
|
||||
/* Fall through - and extract the volume name */
|
||||
case 3:
|
||||
_debug("extract volname");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -1624,7 +1627,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
afs_extract_to_tmp(call);
|
||||
call->unmarshall++;
|
||||
|
||||
/* extract the offline message length */
|
||||
/* Fall through - and extract the offline message length */
|
||||
case 4:
|
||||
ret = afs_extract_data(call, true);
|
||||
if (ret < 0)
|
||||
@ -1639,7 +1642,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
afs_extract_begin(call, call->reply[2], size);
|
||||
call->unmarshall++;
|
||||
|
||||
/* extract the offline message */
|
||||
/* Fall through - and extract the offline message */
|
||||
case 5:
|
||||
_debug("extract offline");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -1653,7 +1656,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
afs_extract_to_tmp(call);
|
||||
call->unmarshall++;
|
||||
|
||||
/* extract the message of the day length */
|
||||
/* Fall through - and extract the message of the day length */
|
||||
case 6:
|
||||
ret = afs_extract_data(call, true);
|
||||
if (ret < 0)
|
||||
@ -1668,7 +1671,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
afs_extract_begin(call, call->reply[2], size);
|
||||
call->unmarshall++;
|
||||
|
||||
/* extract the message of the day */
|
||||
/* Fall through - and extract the message of the day */
|
||||
case 7:
|
||||
_debug("extract motd");
|
||||
ret = afs_extract_data(call, false);
|
||||
@ -1681,6 +1684,7 @@ static int yfs_deliver_fs_get_volume_status(struct afs_call *call)
|
||||
|
||||
call->unmarshall++;
|
||||
|
||||
/* Fall through */
|
||||
case 8:
|
||||
break;
|
||||
}
|
||||
@ -2026,6 +2030,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
|
||||
call->unmarshall++;
|
||||
|
||||
/* Extract the file status count and array in two steps */
|
||||
/* Fall through */
|
||||
case 1:
|
||||
_debug("extract status count");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -2043,6 +2048,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
|
||||
more_counts:
|
||||
afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSFetchStatus));
|
||||
|
||||
/* Fall through */
|
||||
case 2:
|
||||
_debug("extract status array %u", call->count);
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -2066,6 +2072,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
|
||||
afs_extract_to_tmp(call);
|
||||
|
||||
/* Extract the callback count and array in two steps */
|
||||
/* Fall through */
|
||||
case 3:
|
||||
_debug("extract CB count");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -2082,6 +2089,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
|
||||
more_cbs:
|
||||
afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSCallBack));
|
||||
|
||||
/* Fall through */
|
||||
case 4:
|
||||
_debug("extract CB array");
|
||||
ret = afs_extract_data(call, true);
|
||||
@ -2104,6 +2112,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
|
||||
afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSVolSync));
|
||||
call->unmarshall++;
|
||||
|
||||
/* Fall through */
|
||||
case 5:
|
||||
ret = afs_extract_data(call, false);
|
||||
if (ret < 0)
|
||||
@ -2114,6 +2123,7 @@ static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call)
|
||||
|
||||
call->unmarshall++;
|
||||
|
||||
/* Fall through */
|
||||
case 6:
|
||||
break;
|
||||
}
|
||||
|
@ -509,6 +509,7 @@ static int process_leaf(struct btrfs_root *root,
|
||||
switch (key.type) {
|
||||
case BTRFS_EXTENT_ITEM_KEY:
|
||||
*num_bytes = key.offset;
|
||||
/* fall through */
|
||||
case BTRFS_METADATA_ITEM_KEY:
|
||||
*bytenr = key.objectid;
|
||||
ret = process_extent_item(fs_info, path, &key, i,
|
||||
|
@ -394,6 +394,7 @@ static inline enum btrfs_map_op btrfs_op(struct bio *bio)
|
||||
return BTRFS_MAP_WRITE;
|
||||
default:
|
||||
WARN_ON_ONCE(1);
|
||||
/* fall through */
|
||||
case REQ_OP_READ:
|
||||
return BTRFS_MAP_READ;
|
||||
}
|
||||
|
@ -247,6 +247,7 @@ static int ceph_init_file(struct inode *inode, struct file *file, int fmode)
|
||||
case S_IFREG:
|
||||
ceph_fscache_register_inode_cookie(inode);
|
||||
ceph_fscache_file_set_cookie(inode, file);
|
||||
/* fall through */
|
||||
case S_IFDIR:
|
||||
ret = ceph_init_file_info(inode, file, fmode,
|
||||
S_ISDIR(inode->i_mode));
|
||||
|
@ -1690,9 +1690,11 @@ static loff_t configfs_dir_lseek(struct file *file, loff_t offset, int whence)
|
||||
switch (whence) {
|
||||
case 1:
|
||||
offset += file->f_pos;
|
||||
/* fall through */
|
||||
case 0:
|
||||
if (offset >= 0)
|
||||
break;
|
||||
/* fall through */
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
@ -616,8 +616,10 @@ pgoff_t f2fs_get_next_page_offset(struct dnode_of_data *dn, pgoff_t pgofs)
|
||||
switch (dn->max_level) {
|
||||
case 3:
|
||||
base += 2 * indirect_blks;
|
||||
/* fall through */
|
||||
case 2:
|
||||
base += 2 * direct_blks;
|
||||
/* fall through */
|
||||
case 1:
|
||||
base += direct_index;
|
||||
break;
|
||||
|
@ -769,7 +769,7 @@ static void send_sigio_to_task(struct task_struct *p,
|
||||
si.si_fd = fd;
|
||||
if (!do_send_sig_info(signum, &si, p, type))
|
||||
break;
|
||||
/* fall-through: fall back on the old plain SIGIO signal */
|
||||
/* fall-through - fall back on the old plain SIGIO signal */
|
||||
case 0:
|
||||
do_send_sig_info(SIGIO, SEND_SIG_PRIV, p, type);
|
||||
}
|
||||
|
@ -710,7 +710,7 @@ static int gfs2_iomap_alloc(struct inode *inode, struct iomap *iomap,
|
||||
}
|
||||
if (n == 0)
|
||||
break;
|
||||
/* Branching from existing tree */
|
||||
/* fall through - To branching from existing tree */
|
||||
case ALLOC_GROW_DEPTH:
|
||||
if (i > 1 && i < mp->mp_fheight)
|
||||
gfs2_trans_add_meta(ip->i_gl, mp->mp_bh[i-1]);
|
||||
@ -721,7 +721,7 @@ static int gfs2_iomap_alloc(struct inode *inode, struct iomap *iomap,
|
||||
state = ALLOC_DATA;
|
||||
if (n == 0)
|
||||
break;
|
||||
/* Tree complete, adding data blocks */
|
||||
/* fall through - To tree complete, adding data blocks */
|
||||
case ALLOC_DATA:
|
||||
BUG_ON(n > dblks);
|
||||
BUG_ON(mp->mp_bh[end_of_metadata] == NULL);
|
||||
|
@ -340,6 +340,7 @@ struct inode *jffs2_iget(struct super_block *sb, unsigned long ino)
|
||||
rdev = old_decode_dev(je16_to_cpu(jdev.old_id));
|
||||
else
|
||||
rdev = new_decode_dev(je32_to_cpu(jdev.new_id));
|
||||
/* fall through */
|
||||
|
||||
case S_IFSOCK:
|
||||
case S_IFIFO:
|
||||
|
@ -146,9 +146,11 @@ loff_t dcache_dir_lseek(struct file *file, loff_t offset, int whence)
|
||||
switch (whence) {
|
||||
case 1:
|
||||
offset += file->f_pos;
|
||||
/* fall through */
|
||||
case 0:
|
||||
if (offset >= 0)
|
||||
break;
|
||||
/* fall through */
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
@ -1476,7 +1476,7 @@ static void lease_clear_pending(struct file_lock *fl, int arg)
|
||||
switch (arg) {
|
||||
case F_UNLCK:
|
||||
fl->fl_flags &= ~FL_UNLOCK_PENDING;
|
||||
/* fall through: */
|
||||
/* fall through */
|
||||
case F_RDLCK:
|
||||
fl->fl_flags &= ~FL_DOWNGRADE_PENDING;
|
||||
}
|
||||
|
@ -427,6 +427,7 @@ nfsd4_open(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
|
||||
goto out;
|
||||
open->op_openowner->oo_flags |= NFS4_OO_CONFIRMED;
|
||||
reclaim = true;
|
||||
/* fall through */
|
||||
case NFS4_OPEN_CLAIM_FH:
|
||||
case NFS4_OPEN_CLAIM_DELEG_CUR_FH:
|
||||
status = do_open_fhandle(rqstp, cstate, open);
|
||||
|
@ -2585,6 +2585,7 @@ nfsd4_exchange_id(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
|
||||
break;
|
||||
default: /* checked by xdr code */
|
||||
WARN_ON_ONCE(1);
|
||||
/* fall through */
|
||||
case SP4_SSV:
|
||||
status = nfserr_encr_alg_unsupp;
|
||||
goto out_nolock;
|
||||
|
@ -81,6 +81,7 @@ static void o2quo_fence_self(void)
|
||||
default:
|
||||
WARN_ON(o2nm_single_cluster->cl_fence_method >=
|
||||
O2NM_FENCE_METHODS);
|
||||
/* fall through */
|
||||
case O2NM_FENCE_RESET:
|
||||
printk(KERN_ERR "*** ocfs2 is very sorry to be fencing this "
|
||||
"system by restarting ***\n");
|
||||
|
@ -317,6 +317,7 @@ loff_t seq_lseek(struct file *file, loff_t offset, int whence)
|
||||
switch (whence) {
|
||||
case SEEK_CUR:
|
||||
offset += file->f_pos;
|
||||
/* fall through */
|
||||
case SEEK_SET:
|
||||
if (offset < 0)
|
||||
break;
|
||||
|
@ -176,6 +176,7 @@ static ssize_t signalfd_dequeue(struct signalfd_ctx *ctx, kernel_siginfo_t *info
|
||||
if (!nonblock)
|
||||
break;
|
||||
ret = -EAGAIN;
|
||||
/* fall through */
|
||||
default:
|
||||
spin_unlock_irq(¤t->sighand->siglock);
|
||||
return ret;
|
||||
|
@ -42,7 +42,7 @@ ufs_get_fs_state(struct super_block *sb, struct ufs_super_block_first *usb1,
|
||||
case UFS_ST_SUNOS:
|
||||
if (fs32_to_cpu(sb, usb3->fs_postblformat) == UFS_42POSTBLFMT)
|
||||
return fs32_to_cpu(sb, usb1->fs_u0.fs_sun.fs_state);
|
||||
/* Fall Through to UFS_ST_SUN */
|
||||
/* Fall Through - to UFS_ST_SUN */
|
||||
case UFS_ST_SUN:
|
||||
return fs32_to_cpu(sb, usb3->fs_un2.fs_sun.fs_state);
|
||||
case UFS_ST_SUNx86:
|
||||
@ -63,7 +63,7 @@ ufs_set_fs_state(struct super_block *sb, struct ufs_super_block_first *usb1,
|
||||
usb1->fs_u0.fs_sun.fs_state = cpu_to_fs32(sb, value);
|
||||
break;
|
||||
}
|
||||
/* Fall Through to UFS_ST_SUN */
|
||||
/* Fall Through - to UFS_ST_SUN */
|
||||
case UFS_ST_SUN:
|
||||
usb3->fs_un2.fs_sun.fs_state = cpu_to_fs32(sb, value);
|
||||
break;
|
||||
|
@ -385,6 +385,8 @@ next_op:
|
||||
case ASN1_OP_END_SET_ACT:
|
||||
if (unlikely(!(flags & FLAG_MATCHED)))
|
||||
goto tag_mismatch;
|
||||
/* fall through */
|
||||
|
||||
case ASN1_OP_END_SEQ:
|
||||
case ASN1_OP_END_SET_OF:
|
||||
case ASN1_OP_END_SEQ_OF:
|
||||
@ -450,6 +452,8 @@ next_op:
|
||||
pc += asn1_op_lengths[op];
|
||||
goto next_op;
|
||||
}
|
||||
/* fall through */
|
||||
|
||||
case ASN1_OP_ACT:
|
||||
ret = actions[machine[pc + 1]](context, hdr, tag, data + tdp, len);
|
||||
if (ret < 0)
|
||||
|
@ -135,18 +135,23 @@ unsigned long long memparse(const char *ptr, char **retptr)
|
||||
case 'E':
|
||||
case 'e':
|
||||
ret <<= 10;
|
||||
/* fall through */
|
||||
case 'P':
|
||||
case 'p':
|
||||
ret <<= 10;
|
||||
/* fall through */
|
||||
case 'T':
|
||||
case 't':
|
||||
ret <<= 10;
|
||||
/* fall through */
|
||||
case 'G':
|
||||
case 'g':
|
||||
ret <<= 10;
|
||||
/* fall through */
|
||||
case 'M':
|
||||
case 'm':
|
||||
ret <<= 10;
|
||||
/* fall through */
|
||||
case 'K':
|
||||
case 'k':
|
||||
ret <<= 10;
|
||||
|
@ -259,10 +259,15 @@ ZSTD_STATIC size_t BIT_initDStream(BIT_DStream_t *bitD, const void *srcBuffer, s
|
||||
bitD->bitContainer = *(const BYTE *)(bitD->start);
|
||||
switch (srcSize) {
|
||||
case 7: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[6]) << (sizeof(bitD->bitContainer) * 8 - 16);
|
||||
/* fall through */
|
||||
case 6: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[5]) << (sizeof(bitD->bitContainer) * 8 - 24);
|
||||
/* fall through */
|
||||
case 5: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[4]) << (sizeof(bitD->bitContainer) * 8 - 32);
|
||||
/* fall through */
|
||||
case 4: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[3]) << 24;
|
||||
/* fall through */
|
||||
case 3: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[2]) << 16;
|
||||
/* fall through */
|
||||
case 2: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[1]) << 8;
|
||||
default:;
|
||||
}
|
||||
|
@ -3182,6 +3182,7 @@ static size_t ZSTD_compressStream_generic(ZSTD_CStream *zcs, void *dst, size_t *
|
||||
zcs->outBuffFlushedSize = 0;
|
||||
zcs->stage = zcss_flush; /* pass-through to flush stage */
|
||||
}
|
||||
/* fall through */
|
||||
|
||||
case zcss_flush: {
|
||||
size_t const toFlush = zcs->outBuffContentSize - zcs->outBuffFlushedSize;
|
||||
|
@ -1768,6 +1768,7 @@ size_t ZSTD_decompressContinue(ZSTD_DCtx *dctx, void *dst, size_t dstCapacity, c
|
||||
return 0;
|
||||
}
|
||||
dctx->expected = 0; /* not necessary to copy more */
|
||||
/* fall through */
|
||||
|
||||
case ZSTDds_decodeFrameHeader:
|
||||
memcpy(dctx->headerBuffer + ZSTD_frameHeaderSize_prefix, src, dctx->expected);
|
||||
@ -2375,7 +2376,7 @@ size_t ZSTD_decompressStream(ZSTD_DStream *zds, ZSTD_outBuffer *output, ZSTD_inB
|
||||
}
|
||||
zds->stage = zdss_read;
|
||||
}
|
||||
/* pass-through */
|
||||
/* fall through */
|
||||
|
||||
case zdss_read: {
|
||||
size_t const neededInSize = ZSTD_nextSrcSizeToDecompress(zds->dctx);
|
||||
@ -2404,6 +2405,7 @@ size_t ZSTD_decompressStream(ZSTD_DStream *zds, ZSTD_outBuffer *output, ZSTD_inB
|
||||
zds->stage = zdss_load;
|
||||
/* pass-through */
|
||||
}
|
||||
/* fall through */
|
||||
|
||||
case zdss_load: {
|
||||
size_t const neededInSize = ZSTD_nextSrcSizeToDecompress(zds->dctx);
|
||||
@ -2436,6 +2438,7 @@ size_t ZSTD_decompressStream(ZSTD_DStream *zds, ZSTD_outBuffer *output, ZSTD_inB
|
||||
/* pass-through */
|
||||
}
|
||||
}
|
||||
/* fall through */
|
||||
|
||||
case zdss_flush: {
|
||||
size_t const toFlushSize = zds->outEnd - zds->outStart;
|
||||
|
@ -556,7 +556,9 @@ size_t HUF_compress1X_usingCTable(void *dst, size_t dstSize, const void *src, si
|
||||
n = srcSize & ~3; /* join to mod 4 */
|
||||
switch (srcSize & 3) {
|
||||
case 3: HUF_encodeSymbol(&bitC, ip[n + 2], CTable); HUF_FLUSHBITS_2(&bitC);
|
||||
/* fall through */
|
||||
case 2: HUF_encodeSymbol(&bitC, ip[n + 1], CTable); HUF_FLUSHBITS_1(&bitC);
|
||||
/* fall through */
|
||||
case 1: HUF_encodeSymbol(&bitC, ip[n + 0], CTable); HUF_FLUSHBITS(&bitC);
|
||||
case 0:
|
||||
default:;
|
||||
|
Loading…
Reference in New Issue
Block a user