diff options
| -rw-r--r-- | drivers/hid/hid-core.c | 2 | ||||
| -rw-r--r-- | drivers/hid/hid-multitouch.c | 7 |
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 | /* |
