Skip to content

Commit c84dda3

Browse files
tititiou36broonie
authored andcommitted
spi: aspeed: Fix an error handling path in aspeed_spi_[read|write]_user()
A aspeed_spi_start_user() is not balanced by a corresponding aspeed_spi_stop_user(). Add the missing call. Fixes: e3228ed ("spi: spi-mem: Convert Aspeed SMC driver to spi-mem") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Link: https://patch.msgid.link/4052aa2f9a9ea342fa6af83fa991b55ce5d5819e.1732051814.git.christophe.jaillet@wanadoo.fr Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent fac04ef commit c84dda3

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

drivers/spi/spi-aspeed-smc.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ static ssize_t aspeed_spi_read_user(struct aspeed_spi_chip *chip,
239239

240240
ret = aspeed_spi_send_cmd_addr(chip, op->addr.nbytes, offset, op->cmd.opcode);
241241
if (ret < 0)
242-
return ret;
242+
goto stop_user;
243243

244244
if (op->dummy.buswidth && op->dummy.nbytes) {
245245
for (i = 0; i < op->dummy.nbytes / op->dummy.buswidth; i++)
@@ -249,8 +249,9 @@ static ssize_t aspeed_spi_read_user(struct aspeed_spi_chip *chip,
249249
aspeed_spi_set_io_mode(chip, io_mode);
250250

251251
aspeed_spi_read_from_ahb(buf, chip->ahb_base, len);
252+
stop_user:
252253
aspeed_spi_stop_user(chip);
253-
return 0;
254+
return ret;
254255
}
255256

256257
static ssize_t aspeed_spi_write_user(struct aspeed_spi_chip *chip,
@@ -261,10 +262,11 @@ static ssize_t aspeed_spi_write_user(struct aspeed_spi_chip *chip,
261262
aspeed_spi_start_user(chip);
262263
ret = aspeed_spi_send_cmd_addr(chip, op->addr.nbytes, op->addr.val, op->cmd.opcode);
263264
if (ret < 0)
264-
return ret;
265+
goto stop_user;
265266
aspeed_spi_write_to_ahb(chip->ahb_base, op->data.buf.out, op->data.nbytes);
267+
stop_user:
266268
aspeed_spi_stop_user(chip);
267-
return 0;
269+
return ret;
268270
}
269271

270272
/* support for 1-1-1, 1-1-2 or 1-1-4 */

0 commit comments

Comments
 (0)