Skip to content

Commit

Permalink
Input: bcm5974 - turn wellspring mode off if failed to start traffic
Browse files Browse the repository at this point in the history
If we fail to submit URBs we should take touchpad out of wellsping
mode.

Signed-off-by: Luo Jinghua <sunmoon1997@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
Luo Jinghua authored and Dmitry Torokhov committed Jun 8, 2010
1 parent 4aa5bbe commit 1719ec4
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions drivers/input/mouse/bcm5974.c
Original file line number Diff line number Diff line change
Expand Up @@ -580,23 +580,30 @@ static void bcm5974_irq_trackpad(struct urb *urb)
*/
static int bcm5974_start_traffic(struct bcm5974 *dev)
{
if (bcm5974_wellspring_mode(dev, true)) {
int error;

error = bcm5974_wellspring_mode(dev, true);
if (error) {
dprintk(1, "bcm5974: mode switch failed\n");
goto error;
goto err_out;
}

if (usb_submit_urb(dev->bt_urb, GFP_KERNEL))
goto error;
error = usb_submit_urb(dev->bt_urb, GFP_KERNEL);
if (error)
goto err_reset_mode;

if (usb_submit_urb(dev->tp_urb, GFP_KERNEL))
error = usb_submit_urb(dev->tp_urb, GFP_KERNEL);
if (error)
goto err_kill_bt;

return 0;

err_kill_bt:
usb_kill_urb(dev->bt_urb);
error:
return -EIO;
err_reset_mode:
bcm5974_wellspring_mode(dev, false);
err_out:
return error;
}

static void bcm5974_pause_traffic(struct bcm5974 *dev)
Expand Down

0 comments on commit 1719ec4

Please sign in to comment.