HID: intel-ish-hid: use helper function to access client buffer
ishtp bus driver exposed helper functions for client buffer accessing, so change to use these functions in ishtp-hid-client driver to avoid access client buffer directly. Signed-off-by: Even Xu <even.xu@intel.com> Reviewed-by: Andriy Shevchenko <andriy.shevchenko@intel.com> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
Родитель
a1c40ce62f
Коммит
816e7ed1c8
|
@ -323,20 +323,11 @@ static void ish_cl_event_cb(struct ishtp_cl_device *device)
|
|||
struct ishtp_cl *hid_ishtp_cl = ishtp_get_drvdata(device);
|
||||
struct ishtp_cl_rb *rb_in_proc;
|
||||
size_t r_length;
|
||||
unsigned long flags;
|
||||
|
||||
if (!hid_ishtp_cl)
|
||||
return;
|
||||
|
||||
spin_lock_irqsave(&hid_ishtp_cl->in_process_spinlock, flags);
|
||||
while (!list_empty(&hid_ishtp_cl->in_process_list.list)) {
|
||||
rb_in_proc = list_entry(
|
||||
hid_ishtp_cl->in_process_list.list.next,
|
||||
struct ishtp_cl_rb, list);
|
||||
list_del_init(&rb_in_proc->list);
|
||||
spin_unlock_irqrestore(&hid_ishtp_cl->in_process_spinlock,
|
||||
flags);
|
||||
|
||||
while ((rb_in_proc = ishtp_cl_rx_get_rb(hid_ishtp_cl)) != NULL) {
|
||||
if (!rb_in_proc->buffer.data)
|
||||
return;
|
||||
|
||||
|
@ -346,9 +337,7 @@ static void ish_cl_event_cb(struct ishtp_cl_device *device)
|
|||
process_recv(hid_ishtp_cl, rb_in_proc->buffer.data, r_length);
|
||||
|
||||
ishtp_cl_io_rb_recycle(rb_in_proc);
|
||||
spin_lock_irqsave(&hid_ishtp_cl->in_process_spinlock, flags);
|
||||
}
|
||||
spin_unlock_irqrestore(&hid_ishtp_cl->in_process_spinlock, flags);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Загрузка…
Ссылка в новой задаче