[PATCH 3.16 162/254] can: gs_usb: fix return value of the "set_bittiming" callback

From: Ben Hutchings
Date: Wed Feb 28 2018 - 11:27:42 EST


3.16.55-rc1 review patch. If anyone has any objections, please let me know.

------------------

From: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx>

commit d5b42e6607661b198d8b26a0c30969605b1bf5c7 upstream.

The "set_bittiming" callback treats a positive return value as error!
For that reason "can_changelink()" will quit silently after setting
the bittiming values without processing ctrlmode, restart-ms, etc.

Signed-off-by: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx>
Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
---
drivers/net/can/usb/gs_usb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/net/can/usb/gs_usb.c
+++ b/drivers/net/can/usb/gs_usb.c
@@ -430,7 +430,7 @@ static int gs_usb_set_bittiming(struct n
dev_err(netdev->dev.parent, "Couldn't set bittimings (err=%d)",
rc);

- return rc;
+ return (rc > 0) ? 0 : rc;
}

static void gs_usb_xmit_callback(struct urb *urb)