aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/hid/hid-core.c2
-rw-r--r--drivers/hid/hid-multitouch.c7
2 files changed, 2 insertions, 7 deletions
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index c2560aae5542..fdb8b6ed6d4c 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1966,6 +1966,8 @@ static int hid_device_probe(struct device *dev)
1966 } 1966 }
1967 } 1967 }
1968 1968
1969 /* reset the quirks that has been previously set */
1970 hdev->quirks = hid_lookup_quirk(hdev);
1969 hdev->driver = hdrv; 1971 hdev->driver = hdrv;
1970 if (hdrv->probe) { 1972 if (hdrv->probe) {
1971 ret = hdrv->probe(hdev, id); 1973 ret = hdrv->probe(hdev, id);
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index f05d372ba71e..6ae2d14146b3 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -127,7 +127,6 @@ struct mt_device {
127 int left_button_state; /* left button state */ 127 int left_button_state; /* left button state */
128 unsigned last_slot_field; /* the last field of a slot */ 128 unsigned last_slot_field; /* the last field of a slot */
129 unsigned mt_report_id; /* the report ID of the multitouch device */ 129 unsigned mt_report_id; /* the report ID of the multitouch device */
130 unsigned long initial_quirks; /* initial quirks state */
131 __s16 inputmode; /* InputMode HID feature, -1 if non-existent */ 130 __s16 inputmode; /* InputMode HID feature, -1 if non-existent */
132 __s16 inputmode_index; /* InputMode HID feature index in the report */ 131 __s16 inputmode_index; /* InputMode HID feature index in the report */
133 __s16 maxcontact_report_id; /* Maximum Contact Number HID feature, 132 __s16 maxcontact_report_id; /* Maximum Contact Number HID feature,
@@ -1452,11 +1451,6 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
1452 if (id->vendor == HID_ANY_ID && id->product == HID_ANY_ID) 1451 if (id->vendor == HID_ANY_ID && id->product == HID_ANY_ID)
1453 td->serial_maybe = true; 1452 td->serial_maybe = true;
1454 1453
1455 /*
1456 * Store the initial quirk state
1457 */
1458 td->initial_quirks = hdev->quirks;
1459
1460 /* This allows the driver to correctly support devices 1454 /* This allows the driver to correctly support devices
1461 * that emit events over several HID messages. 1455 * that emit events over several HID messages.
1462 */ 1456 */
@@ -1526,7 +1520,6 @@ static void mt_remove(struct hid_device *hdev)
1526 1520
1527 sysfs_remove_group(&hdev->dev.kobj, &mt_attribute_group); 1521 sysfs_remove_group(&hdev->dev.kobj, &mt_attribute_group);
1528 hid_hw_stop(hdev); 1522 hid_hw_stop(hdev);
1529 hdev->quirks = td->initial_quirks;
1530} 1523}
1531 1524
1532/* 1525/*