linux/drivers/usb/misc
Mattias Jacobsson 090158555f USB: misc: appledisplay: fix backlight update_status return code
Upon success the update_status handler returns a positive number
corresponding to the number of bytes transferred by usb_control_msg.
However the return code of the update_status handler should indicate if
an error occurred(negative) or how many bytes of the user's input to sysfs
that was consumed. Return code zero indicates all bytes were consumed.

The bug can for example result in the update_status handler being called
twice, the second time with only the "unconsumed" part of the user's input
to sysfs. Effectively setting an incorrect brightness.

Change the update_status handler to return zero for all successful
transactions and forward usb_control_msg's error code upon failure.

Signed-off-by: Mattias Jacobsson <2pi@mok.nu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-10-18 19:44:39 +02:00
..
sisusbvga usb-misc: sisusbvga: remove redundant variable modey 2018-07-13 15:41:56 +02:00
adutux.c usb: adutux: use irqsave() in USB's complete callback 2018-06-28 19:36:06 +09:00
appledisplay.c USB: misc: appledisplay: fix backlight update_status return code 2018-10-18 19:44:39 +02:00
chaoskey.c USB: chaoskey: Use kasprintf() over strcpy()/strcat() 2018-02-22 15:17:05 +01:00
cypress_cy7c63.c USB: move many drivers to use DEVICE_ATTR_RW 2018-01-24 08:49:51 +01:00
cytherm.c USB: misc: fix up some remaining DEVICE_ATTR() usages 2018-01-24 08:49:52 +01:00
ehset.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
emi26.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
emi62.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
ezusb.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
ftdi-elan.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
idmouse.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
iowarrior.c usb: iowarrior: replace kmalloc with kmalloc_array 2018-09-10 20:05:28 +02:00
isight_firmware.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
Kconfig usb: usb251xb: Add USB2517i specific struct and IDs 2017-11-01 17:14:21 +01:00
ldusb.c usb: ldusb: use irqsave() in USB's complete callback 2018-06-28 19:36:06 +09:00
legousbtower.c usb: legousbtower: use irqsave() in USB's complete callback 2018-06-28 19:36:07 +09:00
lvstest.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rio500_usb.h USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
rio500.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
trancevibrator.c usb: misc: fix obsolete function 2018-09-10 20:06:48 +02:00
usb251xb.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
usb3503.c usb: misc: usb3503: make sure reset is low for at least 100us 2018-01-11 18:39:52 +01:00
usb4604.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
usb_u132.h USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
usblcd.c USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
usbsevseg.c USB: misc: fix up some remaining DEVICE_ATTR() usages 2018-01-24 08:49:52 +01:00
usbtest.c usb: usbtest: use irqsave() in USB's complete callback 2018-07-06 16:36:19 +02:00
uss720.c usb: misc: uss720: Fix two sleep-in-atomic-context bugs 2018-09-05 14:36:53 +02:00
yurex.c USB: yurex: Check for truncation in yurex_read() 2018-09-05 13:27:06 +02:00