Inside the function store_value() the table of writable registers need to
be passed to function get_static_reg_addr() or else the correct register
address is never going to be found.

Reported-by: Alex Riesen <alexander.rie...@cetitec.com>
Signed-off-by: Christian Gromm <christian.gr...@microchip.com>
---
 drivers/staging/most/hdm-usb/hdm_usb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/most/hdm-usb/hdm_usb.c 
b/drivers/staging/most/hdm-usb/hdm_usb.c
index ad907e9..477c0ed 100644
--- a/drivers/staging/most/hdm-usb/hdm_usb.c
+++ b/drivers/staging/most/hdm-usb/hdm_usb.c
@@ -1005,7 +1005,7 @@ static ssize_t store_value(struct most_dci_obj *dci_obj,
                err = drci_wr_reg(usb_dev, dci_obj->reg_addr, val);
        else if (!strcmp(name, "sync_ep"))
                err = start_sync_ep(usb_dev, val);
-       else if (!get_static_reg_addr(ro_regs, name, &reg_addr))
+       else if (!get_static_reg_addr(rw_regs, name, &reg_addr))
                err = drci_wr_reg(usb_dev, reg_addr, val);
        else
                return -EFAULT;
-- 
1.9.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to