Message ID | 20120819185631.3a984aa4@neptune.home (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Jiri Kosina |
Headers | show |
Jiri, You seem not to have applied this one yet (it doesn't show up in picolcd branch). Could you please apply it? (or did I miss locking changes making it obsolete?) Thanks, Bruno On Sun, 19 August 2012 Bruno Prémont <bonbons@linux-vserver.org> wrote: > Commit 4ea5454203d991ec85264f64f89ca8855fce69b0 > [HID: Fix race condition between driver core and ll-driver] introduced > new locking around probe/remove functions that prevents any report/reply > from hardware to reach driver until it returned from probe. > > As such, the ask-reply way to checking picoLCD firmware version during > probe is bound to timeout and let probe fail. > > Drop the check to let driver successfully probe again (until locking issues > are resolved allowing to reinstate the check). > > Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org> > --- > > Changes since v1: > - drop version check during probe instead of commenting it out. > > > drivers/hid/hid-picolcd_core.c | 18 ------------------ > 1 files changed, 0 insertions(+), 18 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, 17 Sep 2012, Bruno Prémont wrote: > You seem not to have applied this one yet (it doesn't show up in picolcd > branch). > > Could you please apply it? > (or did I miss locking changes making it obsolete?) No, sorry, I lost that one. Applied now. Have you and David made any progress with the locking?
diff --git a/drivers/hid/hid-picolcd_core.c b/drivers/hid/hid-picolcd_core.c index 7b566ee..e08ffd2 100644 --- a/drivers/hid/hid-picolcd_core.c +++ b/drivers/hid/hid-picolcd_core.c @@ -478,14 +478,6 @@ static int picolcd_probe_lcd(struct hid_device *hdev, struct picolcd_data *data) { int error; - error = picolcd_check_version(hdev); - if (error) - return error; - - if (data->version[0] != 0 && data->version[1] != 3) - hid_info(hdev, "Device with untested firmware revision, please submit /sys/kernel/debug/hid/%s/rdesc for this device.\n", - dev_name(&hdev->dev)); - /* Setup keypad input device */ error = picolcd_init_keys(data, picolcd_in_report(REPORT_KEY_STATE, hdev)); if (error) @@ -534,16 +526,6 @@ err: static int picolcd_probe_bootloader(struct hid_device *hdev, struct picolcd_data *data) { - int error; - - error = picolcd_check_version(hdev); - if (error) - return error; - - if (data->version[0] != 1 && data->version[1] != 0) - hid_info(hdev, "Device with untested bootloader revision, please submit /sys/kernel/debug/hid/%s/rdesc for this device.\n", - dev_name(&hdev->dev)); - picolcd_init_devfs(data, NULL, NULL, picolcd_out_report(REPORT_BL_READ_MEMORY, hdev), picolcd_out_report(REPORT_BL_WRITE_MEMORY, hdev), NULL);
Commit 4ea5454203d991ec85264f64f89ca8855fce69b0 [HID: Fix race condition between driver core and ll-driver] introduced new locking around probe/remove functions that prevents any report/reply from hardware to reach driver until it returned from probe. As such, the ask-reply way to checking picoLCD firmware version during probe is bound to timeout and let probe fail. Drop the check to let driver successfully probe again (until locking issues are resolved allowing to reinstate the check). Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org> --- Changes since v1: - drop version check during probe instead of commenting it out. drivers/hid/hid-picolcd_core.c | 18 ------------------ 1 files changed, 0 insertions(+), 18 deletions(-)