diff options
Diffstat (limited to 'drivers/input/misc/cm109.c')
| -rw-r--r-- | drivers/input/misc/cm109.c | 45 | 
1 files changed, 29 insertions, 16 deletions
diff --git a/drivers/input/misc/cm109.c b/drivers/input/misc/cm109.c index b09c7d12721..9365535ba7f 100644 --- a/drivers/input/misc/cm109.c +++ b/drivers/input/misc/cm109.c @@ -327,7 +327,9 @@ static void cm109_submit_buzz_toggle(struct cm109_dev *dev)  	error = usb_submit_urb(dev->urb_ctl, GFP_ATOMIC);  	if (error) -		err("%s: usb_submit_urb (urb_ctl) failed %d", __func__, error); +		dev_err(&dev->intf->dev, +			"%s: usb_submit_urb (urb_ctl) failed %d\n", +			__func__, error);  }  /* @@ -339,7 +341,7 @@ static void cm109_urb_irq_callback(struct urb *urb)  	const int status = urb->status;  	int error; -	dev_dbg(&urb->dev->dev, "### URB IRQ: [0x%02x 0x%02x 0x%02x 0x%02x] keybit=0x%02x\n", +	dev_dbg(&dev->intf->dev, "### URB IRQ: [0x%02x 0x%02x 0x%02x 0x%02x] keybit=0x%02x\n",  	     dev->irq_data->byte[0],  	     dev->irq_data->byte[1],  	     dev->irq_data->byte[2], @@ -349,7 +351,9 @@ static void cm109_urb_irq_callback(struct urb *urb)  	if (status) {  		if (status == -ESHUTDOWN)  			return; -		err("%s: urb status %d", __func__, status); +		dev_err_ratelimited(&dev->intf->dev, "%s: urb status %d\n", +				    __func__, status); +		goto out;  	}  	/* Special keys */ @@ -396,7 +400,8 @@ static void cm109_urb_irq_callback(struct urb *urb)  		error = usb_submit_urb(dev->urb_ctl, GFP_ATOMIC);  		if (error) -			err("%s: usb_submit_urb (urb_ctl) failed %d", +			dev_err(&dev->intf->dev, +				"%s: usb_submit_urb (urb_ctl) failed %d\n",  				__func__, error);  	} @@ -409,14 +414,18 @@ static void cm109_urb_ctl_callback(struct urb *urb)  	const int status = urb->status;  	int error; -	dev_dbg(&urb->dev->dev, "### URB CTL: [0x%02x 0x%02x 0x%02x 0x%02x]\n", +	dev_dbg(&dev->intf->dev, "### URB CTL: [0x%02x 0x%02x 0x%02x 0x%02x]\n",  	     dev->ctl_data->byte[0],  	     dev->ctl_data->byte[1],  	     dev->ctl_data->byte[2],  	     dev->ctl_data->byte[3]); -	if (status) -		err("%s: urb status %d", __func__, status); +	if (status) { +		if (status == -ESHUTDOWN) +			return; +		dev_err_ratelimited(&dev->intf->dev, "%s: urb status %d\n", +				    __func__, status); +	}  	spin_lock(&dev->ctl_submit_lock); @@ -424,7 +433,7 @@ static void cm109_urb_ctl_callback(struct urb *urb)  	if (likely(!dev->shutdown)) { -		if (dev->buzzer_pending) { +		if (dev->buzzer_pending || status) {  			dev->buzzer_pending = 0;  			dev->ctl_urb_pending = 1;  			cm109_submit_buzz_toggle(dev); @@ -433,7 +442,8 @@ static void cm109_urb_ctl_callback(struct urb *urb)  			dev->irq_urb_pending = 1;  			error = usb_submit_urb(dev->urb_irq, GFP_ATOMIC);  			if (error) -				err("%s: usb_submit_urb (urb_irq) failed %d", +				dev_err(&dev->intf->dev, +					"%s: usb_submit_urb (urb_irq) failed %d\n",  					__func__, error);  		}  	} @@ -475,8 +485,9 @@ static void cm109_toggle_buzzer_sync(struct cm109_dev *dev, int on)  				le16_to_cpu(dev->ctl_req->wIndex),  				dev->ctl_data,  				USB_PKT_LEN, USB_CTRL_SET_TIMEOUT); -	if (error && error != EINTR) -		err("%s: usb_control_msg() failed %d", __func__, error); +	if (error < 0 && error != -EINTR) +		dev_err(&dev->intf->dev, "%s: usb_control_msg() failed %d\n", +			__func__, error);  }  static void cm109_stop_traffic(struct cm109_dev *dev) @@ -518,8 +529,8 @@ static int cm109_input_open(struct input_dev *idev)  	error = usb_autopm_get_interface(dev->intf);  	if (error < 0) { -		err("%s - cannot autoresume, result %d", -		    __func__, error); +		dev_err(&idev->dev, "%s - cannot autoresume, result %d\n", +			__func__, error);  		return error;  	} @@ -537,7 +548,8 @@ static int cm109_input_open(struct input_dev *idev)  	error = usb_submit_urb(dev->urb_ctl, GFP_KERNEL);  	if (error) -		err("%s: usb_submit_urb (urb_ctl) failed %d", __func__, error); +		dev_err(&dev->intf->dev, "%s: usb_submit_urb (urb_ctl) failed %d\n", +			__func__, error);  	else  		dev->open = 1; @@ -573,7 +585,7 @@ static int cm109_input_ev(struct input_dev *idev, unsigned int type,  {  	struct cm109_dev *dev = input_get_drvdata(idev); -	dev_dbg(&dev->udev->dev, +	dev_dbg(&dev->intf->dev,  		"input_ev: type=%u code=%u value=%d\n", type, code, value);  	if (type != EV_SND) @@ -710,7 +722,8 @@ static int cm109_usb_probe(struct usb_interface *intf,  	pipe = usb_rcvintpipe(udev, endpoint->bEndpointAddress);  	ret = usb_maxpacket(udev, pipe, usb_pipeout(pipe));  	if (ret != USB_PKT_LEN) -		err("invalid payload size %d, expected %d", ret, USB_PKT_LEN); +		dev_err(&intf->dev, "invalid payload size %d, expected %d\n", +			ret, USB_PKT_LEN);  	/* initialise irq urb */  	usb_fill_int_urb(dev->urb_irq, udev, pipe, dev->irq_data,  | 
