浏览代码

USB: power availability check for berry_charge

this introduces a sanity check into berry_charge to give up before
damage is done if we lack juice.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Oliver Neukum 17 年之前
父节点
当前提交
b404299f6b
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      drivers/usb/misc/berry_charge.c

+ 5 - 0
drivers/usb/misc/berry_charge.c

@@ -123,6 +123,11 @@ static int berry_probe(struct usb_interface *intf,
 {
 {
 	struct usb_device *udev = interface_to_usbdev(intf);
 	struct usb_device *udev = interface_to_usbdev(intf);
 
 
+	if (udev->bus_mA < 500) {
+		dbg(&udev->dev, "Not enough power to charge available\n");
+		return -ENODEV;
+	}
+
 	dbg(&udev->dev, "Power is set to %dmA\n",
 	dbg(&udev->dev, "Power is set to %dmA\n",
 	    udev->actconfig->desc.bMaxPower * 2);
 	    udev->actconfig->desc.bMaxPower * 2);