Loading drivers/staging/wilc1000/wilc_spi.c +124 −126 Original line number Diff line number Diff line Loading @@ -287,6 +287,8 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, u8 rsp; int len = 0; int result = N_OK; int retry; u8 crc[2]; wb[0] = cmd; switch (cmd) { Loading @@ -306,21 +308,21 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, len = 5; break; case CMD_TERMINATE: /* termination */ case CMD_TERMINATE: wb[1] = 0x00; wb[2] = 0x00; wb[3] = 0x00; len = 5; break; case CMD_REPEAT: /* repeat */ case CMD_REPEAT: wb[1] = 0x00; wb[2] = 0x00; wb[3] = 0x00; len = 5; break; case CMD_RESET: /* reset */ case CMD_RESET: wb[1] = 0xff; wb[2] = 0xff; wb[3] = 0xff; Loading Loading @@ -395,13 +397,12 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, cmd == CMD_REPEAT) { len2 = len + (NUM_SKIP_BYTES + NUM_RSP_BYTES + NUM_DUMMY_BYTES); } else if (cmd == CMD_INTERNAL_READ || cmd == CMD_SINGLE_READ) { if (!g_spi.crc_off) { len2 = len + (NUM_RSP_BYTES + NUM_DATA_HDR_BYTES + NUM_DATA_BYTES + NUM_CRC_BYTES + NUM_DUMMY_BYTES); } else { len2 = len + (NUM_RSP_BYTES + NUM_DATA_HDR_BYTES + NUM_DATA_BYTES + NUM_DUMMY_BYTES); } int tmp = NUM_RSP_BYTES + NUM_DATA_HDR_BYTES + NUM_DATA_BYTES + NUM_DUMMY_BYTES; if (!g_spi.crc_off) len2 = len + tmp + NUM_CRC_BYTES; else len2 = len + tmp; } else { len2 = len + (NUM_RSP_BYTES + NUM_DUMMY_BYTES); } Loading @@ -425,11 +426,8 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, /* * Command/Control response */ if (cmd == CMD_RESET || cmd == CMD_TERMINATE || cmd == CMD_REPEAT) { if (cmd == CMD_RESET || cmd == CMD_TERMINATE || cmd == CMD_REPEAT) rix++; /* skip 1 byte */ } rsp = rb[rix++]; Loading @@ -452,8 +450,6 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, if (cmd == CMD_INTERNAL_READ || cmd == CMD_SINGLE_READ || cmd == CMD_DMA_READ || cmd == CMD_DMA_EXT_READ) { int retry; u8 crc[2]; /* * Data Respnose header */ Loading @@ -478,6 +474,7 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, "Error, data read response (%02x)\n", rsp); return N_RESET; } } if (cmd == CMD_INTERNAL_READ || cmd == CMD_SINGLE_READ) { /* Loading @@ -502,7 +499,8 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, crc[0] = rb[rix++]; crc[1] = rb[rix++]; } else { dev_err(&spi->dev, "buffer overrun when reading crc.\n"); dev_err(&spi->dev, "buffer overrun when reading crc.\n"); return N_FAIL; } } Loading @@ -527,7 +525,8 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, * Read bytes */ if (wilc_spi_rx(wilc, &b[ix], nbytes)) { dev_err(&spi->dev, "Failed data block read, bus error...\n"); dev_err(&spi->dev, "Failed block read, bus err\n"); result = N_FAIL; goto _error_; } Loading @@ -535,13 +534,12 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, /* * Read Crc */ if (!g_spi.crc_off) { if (wilc_spi_rx(wilc, crc, 2)) { dev_err(&spi->dev, "Failed data block crc read, bus error...\n"); if (!g_spi.crc_off && wilc_spi_rx(wilc, crc, 2)) { dev_err(&spi->dev, "Failed block crc read, bus err\n"); result = N_FAIL; goto _error_; } } ix += nbytes; sz -= nbytes; Loading Loading @@ -570,7 +568,8 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, retry = 10; do { if (wilc_spi_rx(wilc, &rsp, 1)) { dev_err(&spi->dev, "Failed data response read, bus error...\n"); dev_err(&spi->dev, "Failed resp read, bus err\n"); result = N_FAIL; break; } Loading @@ -585,7 +584,8 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, * Read bytes */ if (wilc_spi_rx(wilc, &b[ix], nbytes)) { dev_err(&spi->dev, "Failed data block read, bus error...\n"); dev_err(&spi->dev, "Failed block read, bus err\n"); result = N_FAIL; break; } Loading @@ -593,19 +593,17 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, /* * Read Crc */ if (!g_spi.crc_off) { if (wilc_spi_rx(wilc, crc, 2)) { dev_err(&spi->dev, "Failed data block crc read, bus error...\n"); if (!g_spi.crc_off && wilc_spi_rx(wilc, crc, 2)) { dev_err(&spi->dev, "Failed block crc read, bus err\n"); result = N_FAIL; break; } } ix += nbytes; sz -= nbytes; } } } _error_: return result; } Loading Loading
drivers/staging/wilc1000/wilc_spi.c +124 −126 Original line number Diff line number Diff line Loading @@ -287,6 +287,8 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, u8 rsp; int len = 0; int result = N_OK; int retry; u8 crc[2]; wb[0] = cmd; switch (cmd) { Loading @@ -306,21 +308,21 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, len = 5; break; case CMD_TERMINATE: /* termination */ case CMD_TERMINATE: wb[1] = 0x00; wb[2] = 0x00; wb[3] = 0x00; len = 5; break; case CMD_REPEAT: /* repeat */ case CMD_REPEAT: wb[1] = 0x00; wb[2] = 0x00; wb[3] = 0x00; len = 5; break; case CMD_RESET: /* reset */ case CMD_RESET: wb[1] = 0xff; wb[2] = 0xff; wb[3] = 0xff; Loading Loading @@ -395,13 +397,12 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, cmd == CMD_REPEAT) { len2 = len + (NUM_SKIP_BYTES + NUM_RSP_BYTES + NUM_DUMMY_BYTES); } else if (cmd == CMD_INTERNAL_READ || cmd == CMD_SINGLE_READ) { if (!g_spi.crc_off) { len2 = len + (NUM_RSP_BYTES + NUM_DATA_HDR_BYTES + NUM_DATA_BYTES + NUM_CRC_BYTES + NUM_DUMMY_BYTES); } else { len2 = len + (NUM_RSP_BYTES + NUM_DATA_HDR_BYTES + NUM_DATA_BYTES + NUM_DUMMY_BYTES); } int tmp = NUM_RSP_BYTES + NUM_DATA_HDR_BYTES + NUM_DATA_BYTES + NUM_DUMMY_BYTES; if (!g_spi.crc_off) len2 = len + tmp + NUM_CRC_BYTES; else len2 = len + tmp; } else { len2 = len + (NUM_RSP_BYTES + NUM_DUMMY_BYTES); } Loading @@ -425,11 +426,8 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, /* * Command/Control response */ if (cmd == CMD_RESET || cmd == CMD_TERMINATE || cmd == CMD_REPEAT) { if (cmd == CMD_RESET || cmd == CMD_TERMINATE || cmd == CMD_REPEAT) rix++; /* skip 1 byte */ } rsp = rb[rix++]; Loading @@ -452,8 +450,6 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, if (cmd == CMD_INTERNAL_READ || cmd == CMD_SINGLE_READ || cmd == CMD_DMA_READ || cmd == CMD_DMA_EXT_READ) { int retry; u8 crc[2]; /* * Data Respnose header */ Loading @@ -478,6 +474,7 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, "Error, data read response (%02x)\n", rsp); return N_RESET; } } if (cmd == CMD_INTERNAL_READ || cmd == CMD_SINGLE_READ) { /* Loading @@ -502,7 +499,8 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, crc[0] = rb[rix++]; crc[1] = rb[rix++]; } else { dev_err(&spi->dev, "buffer overrun when reading crc.\n"); dev_err(&spi->dev, "buffer overrun when reading crc.\n"); return N_FAIL; } } Loading @@ -527,7 +525,8 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, * Read bytes */ if (wilc_spi_rx(wilc, &b[ix], nbytes)) { dev_err(&spi->dev, "Failed data block read, bus error...\n"); dev_err(&spi->dev, "Failed block read, bus err\n"); result = N_FAIL; goto _error_; } Loading @@ -535,13 +534,12 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, /* * Read Crc */ if (!g_spi.crc_off) { if (wilc_spi_rx(wilc, crc, 2)) { dev_err(&spi->dev, "Failed data block crc read, bus error...\n"); if (!g_spi.crc_off && wilc_spi_rx(wilc, crc, 2)) { dev_err(&spi->dev, "Failed block crc read, bus err\n"); result = N_FAIL; goto _error_; } } ix += nbytes; sz -= nbytes; Loading Loading @@ -570,7 +568,8 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, retry = 10; do { if (wilc_spi_rx(wilc, &rsp, 1)) { dev_err(&spi->dev, "Failed data response read, bus error...\n"); dev_err(&spi->dev, "Failed resp read, bus err\n"); result = N_FAIL; break; } Loading @@ -585,7 +584,8 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, * Read bytes */ if (wilc_spi_rx(wilc, &b[ix], nbytes)) { dev_err(&spi->dev, "Failed data block read, bus error...\n"); dev_err(&spi->dev, "Failed block read, bus err\n"); result = N_FAIL; break; } Loading @@ -593,19 +593,17 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, /* * Read Crc */ if (!g_spi.crc_off) { if (wilc_spi_rx(wilc, crc, 2)) { dev_err(&spi->dev, "Failed data block crc read, bus error...\n"); if (!g_spi.crc_off && wilc_spi_rx(wilc, crc, 2)) { dev_err(&spi->dev, "Failed block crc read, bus err\n"); result = N_FAIL; break; } } ix += nbytes; sz -= nbytes; } } } _error_: return result; } Loading