diff options
author | Jiri Kosina <jkosina@suse.cz> | 2019-03-05 15:42:51 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2019-03-05 15:42:51 +0100 |
commit | 9f66d83ed704bc9ac0f09eb744f8e76a81006eb9 (patch) | |
tree | e9a9a84797e440bb14c340d8671159cffe535cc4 /drivers/hid/intel-ish-hid/ishtp/bus.c | |
parent | Merge branch 'for-5.1/ish' into for-linus (diff) | |
parent | HID: intel-ish-hid: remove data[128] usage on stack when sending HBM request (diff) | |
download | linux-9f66d83ed704bc9ac0f09eb744f8e76a81006eb9.tar.xz linux-9f66d83ed704bc9ac0f09eb744f8e76a81006eb9.zip |
Merge branch 'for-5.1/i2c-hid' into for-linus
Fix dmesg flood for Elan touchpanels which are too slow to assert IRQ from Kai-Heng Feng
Diffstat (limited to 'drivers/hid/intel-ish-hid/ishtp/bus.c')
-rw-r--r-- | drivers/hid/intel-ish-hid/ishtp/bus.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/hid/intel-ish-hid/ishtp/bus.c b/drivers/hid/intel-ish-hid/ishtp/bus.c index efa21d33ad60..d5f4b6438d86 100644 --- a/drivers/hid/intel-ish-hid/ishtp/bus.c +++ b/drivers/hid/intel-ish-hid/ishtp/bus.c @@ -119,7 +119,7 @@ int ishtp_send_msg(struct ishtp_device *dev, struct ishtp_msg_hdr *hdr, * Return: This returns IPC send message status. */ int ishtp_write_message(struct ishtp_device *dev, struct ishtp_msg_hdr *hdr, - unsigned char *buf) + void *buf) { return ishtp_send_msg(dev, hdr, buf, NULL, NULL); } @@ -672,7 +672,8 @@ int ishtp_cl_device_bind(struct ishtp_cl *cl) spin_lock_irqsave(&cl->dev->device_list_lock, flags); list_for_each_entry(cl_device, &cl->dev->device_list, device_link) { - if (cl_device->fw_client->client_id == cl->fw_client_id) { + if (cl_device->fw_client && + cl_device->fw_client->client_id == cl->fw_client_id) { cl->device = cl_device; rv = 0; break; @@ -732,6 +733,7 @@ void ishtp_bus_remove_all_clients(struct ishtp_device *ishtp_dev, spin_lock_irqsave(&ishtp_dev->device_list_lock, flags); list_for_each_entry_safe(cl_device, n, &ishtp_dev->device_list, device_link) { + cl_device->fw_client = NULL; if (warm_reset && cl_device->reference_count) continue; |