]> www.infradead.org Git - users/jedix/linux-maple.git/commit
ata: sata_sx4: Add error handling in pdc20621_i2c_read()
authorWentao Liang <vulab@iscas.ac.cn>
Tue, 8 Apr 2025 07:30:01 +0000 (15:30 +0800)
committerDamien Le Moal <dlemoal@kernel.org>
Wed, 9 Apr 2025 06:24:49 +0000 (15:24 +0900)
commit8d46a27085039158eb5e253ab8a35a0e33b5e864
treed97204940f43d25ad9b68ae789a888e8768d44cc
parentad320e408a8c95a282ab9c05cdf0c9b95e317985
ata: sata_sx4: Add error handling in pdc20621_i2c_read()

The function pdc20621_prog_dimm0() calls the function pdc20621_i2c_read()
but does not handle the error if the read fails. This could lead to
process with invalid data. A proper implementation can be found in
/source/drivers/ata/sata_sx4.c, pdc20621_prog_dimm_global(). As mentioned
in its commit: bb44e154e25125bef31fa956785e90fccd24610b, the variable spd0
might be used uninitialized when pdc20621_i2c_read() fails.

Add error handling to pdc20621_i2c_read(). If a read operation fails,
an error message is logged via dev_err(), and return a negative error
code.

Add error handling to pdc20621_prog_dimm0() in pdc20621_dimm_init(), and
return a negative error code if pdc20621_prog_dimm0() fails.

Fixes: 4447d3515616 ("libata: convert the remaining SATA drivers to new init model")
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
drivers/ata/sata_sx4.c