WARN_ON() is a bit harsh here, as we just failed to power-off the HID
device while it is getting removed.
Replace it with dev_err().
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
 static void gb_hid_close(struct hid_device *hid)
 {
        struct gb_hid *ghid = hid->driver_data;
+       int ret;
 
        /*
         * Protecting hid->open to make sure we don't restart data acquistion
                clear_bit(GB_HID_STARTED, &ghid->flags);
 
                /* Save some power */
-               WARN_ON(gb_hid_set_power(ghid, GB_HID_TYPE_PWR_OFF));
+               ret = gb_hid_set_power(ghid, GB_HID_TYPE_PWR_OFF);
+               if (ret)
+                       dev_err(&ghid->connection->bundle->dev,
+                               "failed to power off (%d)\n", ret);
        }
        mutex_unlock(&gb_hid_open_mutex);
 }