staging: r8188eu: write only path a registers in rtw_dbg_port
authorMartin Kaiser <martin@kaiser.cx>
Sat, 12 Feb 2022 16:17:29 +0000 (17:17 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 Feb 2022 16:11:22 +0000 (17:11 +0100)
Commit 3b011b097c38 ("staging: r8188eu: limit rf register writes to
path a") limited the rtw_wx_write_rf function to write only rf registers
for path a.

The private ioctl 0x0B invokes the rtw_dbg_port function. This ioctl
can also be used for writing rf registers. We should limit these register
writes to rf path a as well.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20220212161737.381841-3-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/os_dep/ioctl_linux.c

index 8c49df7244618f3fd1525e29679cf4f0b41c77d8..9d3488c280482957a2345d382f5a62f8e7fd5e57 100644 (file)
@@ -3621,7 +3621,11 @@ static int rtw_dbg_port(struct net_device *dev,
                DBG_88E("read RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", minor_cmd, arg, rtl8188e_PHY_QueryRFReg(padapter, minor_cmd, arg, 0xffffffff));
                break;
        case 0x75:/* write_rf */
-               rtl8188e_PHY_SetRFReg(padapter, minor_cmd, arg, 0xffffffff, extra_arg);
+               if (minor_cmd != RF_PATH_A) {
+                       ret = -EINVAL;
+                       break;
+               }
+               rtl8188e_PHY_SetRFReg(padapter, RF_PATH_A, arg, 0xffffffff, extra_arg);
                DBG_88E("write RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", minor_cmd, arg, rtl8188e_PHY_QueryRFReg(padapter, minor_cmd, arg, 0xffffffff));
                break;