realtek: i2c-rtl9300: fix crash on block transfers
authorBjørn Mork <bjorn@mork.no>
Wed, 5 Feb 2025 06:19:10 +0000 (07:19 +0100)
committerSander Vanheule <sander@svanheule.net>
Tue, 25 Feb 2025 19:53:30 +0000 (20:53 +0100)
Fix a typo which resulted in wrong .read hooks and unset .write
hooks.  This made I2C_SMBUS_BLOCK_DATA transfers dereference the
NULL .write hook and Oops.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Link: https://github.com/openwrt/openwrt/pull/17950
Signed-off-by: Sander Vanheule <sander@svanheule.net>
target/linux/realtek/files-6.6/drivers/i2c/busses/i2c-rtl9300.c

index 51b19978a0925794ce1e16ce7aa7aca4c6fe3272..9565c4756f060c7a8813ffee27ebb787137d04c3 100644 (file)
@@ -436,7 +436,7 @@ struct i2c_drv_data rtl9300_i2c_drv_data = {
        .scl1_pin = 17,
        .sda0_pin = 9,
        .read = rtl9300_i2c_read,
-       .read = rtl9300_i2c_write,
+       .write = rtl9300_i2c_write,
        .reg_addr_set = rtl9300_i2c_reg_addr_set,
        .config_xfer = rtl9300_i2c_config_xfer,
        .execute_xfer = rtl9300_execute_xfer,
@@ -450,7 +450,7 @@ struct i2c_drv_data rtl9310_i2c_drv_data = {
        .scl1_pin = 14,
        .sda0_pin = 0,
        .read = rtl9310_i2c_read,
-       .read = rtl9310_i2c_write,
+       .write = rtl9310_i2c_write,
        .reg_addr_set = rtl9310_i2c_reg_addr_set,
        .config_xfer = rtl9310_i2c_config_xfer,
        .execute_xfer = rtl9310_execute_xfer,