serial:ifx6x60:Prevent data transfer when IFX6x60 port is shutdown
authorchao bi <chao.bi@intel.com>
Wed, 31 Oct 2012 08:54:07 +0000 (16:54 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Nov 2012 15:50:01 +0000 (08:50 -0700)
commit31fe99048859b13a87f476016e7bb5c2b5220c36
tree425b1ce34168d16470530f21b87f92b1ec077093
parent2ac4ad2a1468123f6bb439a547880a9c0d302e0a
serial:ifx6x60:Prevent data transfer when IFX6x60 port is shutdown

This patch is to implement following 2 places to avoid potential error when IFX6x60 port shutdown:
1) Clear Flag IFX_SPI_STATE_IO_AVAILABLE to disable data transfer when Modem port is shutdown;
2) Clear Flag IFX_SPI_STATE_IO_IN_PROGRESS and IFX_SPI_STATE_IO_READY when reopen port.
This is because last port shutdown may happen when SPI/DMA transfer is in progress, if the last
data transfer is not completed(for example due to modem reset), the Flag IFX_SPI_STATE_IO_IN_PROGRESS
will be set forever, so when IFX port is activated again, IFX_SPI_STATE_IO_IN_PROGRESS will prevent
transferring data forever. And if don't clear IFX_SPI_STATE_IO_READY, it may cause one more SPI frame
transferring in spit there is not data need to be transfer.

cc: liu chuansheng <chuansheng.liu@intel.com>
cc: Chen Jun <jun.d.chen@intel.com>
Signed-off-by: channing <chao.bi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/ifx6x60.c
drivers/tty/serial/ifx6x60.h