On Monday 02 of December 2013 11:16:14 you wrote: Hi, I don't think that fixing this makes any sense in kernels older than 3.13. Prior to changes introduced in 3.13 the autocentering command function was common for all supported wheels except FFEX so it didn't need to read device properties. The patch is only needed since 3.13 to ensure that autocentering is set properly during device initialization. Michal Malý > 3.12-stable review patch. If anyone has any objections, please let me know. > > ------------------ > > From: Simon Wood <simon@xxxxxxxxxxxxx> > > commit 114a55cf9dd1576e7ac56189832cd4d7dc56c218 upstream. > > Re-arrange code slightly to ensure that device properties are configured > before calling auto-center command. > > Reported-by: Michal Malý <madcatxster@xxxxxxxxx> > Signed-off-by: Simon Wood <simon@xxxxxxxxxxxxx> > Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > --- > drivers/hid/hid-lg4ff.c | 22 +++++++++++----------- > 1 file changed, 11 insertions(+), 11 deletions(-) > > --- a/drivers/hid/hid-lg4ff.c > +++ b/drivers/hid/hid-lg4ff.c > @@ -574,17 +574,6 @@ int lg4ff_init(struct hid_device *hid) > if (error) > return error; > > - /* Check if autocentering is available and > - * set the centering force to zero by default */ > - if (test_bit(FF_AUTOCENTER, dev->ffbit)) { > - if (rev_maj == FFEX_REV_MAJ && rev_min == FFEX_REV_MIN) /* Formula Force > EX expects different autocentering command */ - dev->ff- >set_autocenter = > hid_lg4ff_set_autocenter_ffex; > - else > - dev->ff->set_autocenter = hid_lg4ff_set_autocenter_default; > - > - dev->ff->set_autocenter(dev, 0); > - } > - > /* Get private driver data */ > drv_data = hid_get_drvdata(hid); > if (!drv_data) { > @@ -605,6 +594,17 @@ int lg4ff_init(struct hid_device *hid) > entry->max_range = lg4ff_devices[i].max_range; > entry->set_range = lg4ff_devices[i].set_range; > > + /* Check if autocentering is available and > + * set the centering force to zero by default */ > + if (test_bit(FF_AUTOCENTER, dev->ffbit)) { > + if (rev_maj == FFEX_REV_MAJ && rev_min == FFEX_REV_MIN) /* Formula Force > EX expects different autocentering command */ + dev->ff- >set_autocenter = > hid_lg4ff_set_autocenter_ffex; > + else > + dev->ff->set_autocenter = hid_lg4ff_set_autocenter_default; > + > + dev->ff->set_autocenter(dev, 0); > + } > + > /* Create sysfs interface */ > error = device_create_file(&hid->dev, &dev_attr_range); > if (error) -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html