diff options
author | Muhammad Hamza Farooq <mfarooq@visteon.com> | 2015-09-11 16:42:38 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-09-20 22:52:13 -0700 |
commit | b05b7c7cc0324524dcda7fa7c2be1255290ee416 (patch) | |
tree | ecaff7f9aebc82187b5613789b43c9c76d530420 /include/linux/ti_wilink_st.h | |
parent | f97ef759999485df485fe19a440d6af02d561140 (diff) | |
download | op-kernel-dev-b05b7c7cc0324524dcda7fa7c2be1255290ee416.zip op-kernel-dev-b05b7c7cc0324524dcda7fa7c2be1255290ee416.tar.gz |
ti-st: use worker instead of calling st_int_write in wake up
The wake up method is called with the port lock held. The st_int_write
method calls port->ops->write with tries to acquire the lock again,
causing CPU to wait infinitely. Right way to do is to write data to port
in worker thread.
Signed-off-by: Muhammad Hamza Farooq <mfarooq@visteon.com>
Signed-off-by: Jacob Siverskog <jacob@teenage.engineering>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/ti_wilink_st.h')
-rw-r--r-- | include/linux/ti_wilink_st.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/ti_wilink_st.h b/include/linux/ti_wilink_st.h index d4217ef..0a0d568 100644 --- a/include/linux/ti_wilink_st.h +++ b/include/linux/ti_wilink_st.h @@ -158,6 +158,7 @@ struct st_data_s { unsigned long ll_state; void *kim_data; struct tty_struct *tty; + struct work_struct work_write_wakeup; }; /* |