diff mbox series

thunderbolt: Check return value of tb_sw_read() in usb4_switch_op()

Message ID 20200416120146.54791-1-mika.westerberg@linux.intel.com (mailing list archive)
State Mainlined
Commit c3bf9930921b33edb31909006607e478751a6f5e
Headers show
Series thunderbolt: Check return value of tb_sw_read() in usb4_switch_op() | expand

Commit Message

Mika Westerberg April 16, 2020, 12:01 p.m. UTC
The function misses checking return value of tb_sw_read() before it
accesses the value that was read. Fix this by checking the return value
first.

Fixes: b04079837b20 ("thunderbolt: Add initial support for USB4")
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
---
 drivers/thunderbolt/usb4.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Yehezkel Bernat April 16, 2020, 11:20 p.m. UTC | #1
On Thu, Apr 16, 2020 at 3:01 PM Mika Westerberg
<mika.westerberg@linux.intel.com> wrote:
>
> The function misses checking return value of tb_sw_read() before it
> accesses the value that was read. Fix this by checking the return value
> first.
>
> Fixes: b04079837b20 ("thunderbolt: Add initial support for USB4")
> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>

Reviewed-by: Yehezkel Bernat <yehezkelshb@gmail.com>
Mika Westerberg April 20, 2020, 8:57 a.m. UTC | #2
On Fri, Apr 17, 2020 at 02:20:26AM +0300, Yehezkel Bernat wrote:
> On Thu, Apr 16, 2020 at 3:01 PM Mika Westerberg
> <mika.westerberg@linux.intel.com> wrote:
> >
> > The function misses checking return value of tb_sw_read() before it
> > accesses the value that was read. Fix this by checking the return value
> > first.
> >
> > Fixes: b04079837b20 ("thunderbolt: Add initial support for USB4")
> > Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> 
> Reviewed-by: Yehezkel Bernat <yehezkelshb@gmail.com>

Applied to fixes, thanks!
diff mbox series

Patch

diff --git a/drivers/thunderbolt/usb4.c b/drivers/thunderbolt/usb4.c
index 3d084cec136f..50c7534ba31e 100644
--- a/drivers/thunderbolt/usb4.c
+++ b/drivers/thunderbolt/usb4.c
@@ -182,6 +182,9 @@  static int usb4_switch_op(struct tb_switch *sw, u16 opcode, u8 *status)
 		return ret;
 
 	ret = tb_sw_read(sw, &val, TB_CFG_SWITCH, ROUTER_CS_26, 1);
+	if (ret)
+		return ret;
+
 	if (val & ROUTER_CS_26_ONS)
 		return -EOPNOTSUPP;