[PATCH] serial:ifx6x60:Delete SPI timer when shut down port
When shut down SPI port, it's possible that MRDY has been asserted and a SPI timer was activated waiting for SRDY assert, in the case, it needs to delete this timer. Signed-off-by: Chen Jun Signed-off-by: channing --- drivers/tty/serial/ifx6x60.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/tty/serial/ifx6x60.c b/drivers/tty/serial/ifx6x60.c index 675d94a..7eed323 100644 --- a/drivers/tty/serial/ifx6x60.c +++ b/drivers/tty/serial/ifx6x60.c @@ -637,6 +637,7 @@ static void ifx_port_shutdown(struct tty_port *port) clear_bit(IFX_SPI_STATE_IO_AVAILABLE, _dev->flags); mrdy_set_low(ifx_dev); + del_timer(_dev->spi_timer); clear_bit(IFX_SPI_STATE_TIMER_PENDING, _dev->flags); tasklet_kill(_dev->io_work_tasklet); } -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] serial:ifx6x60:Delete SPI timer when shut down port
When shut down SPI port, it's possible that MRDY has been asserted and a SPI timer was activated waiting for SRDY assert, in the case, it needs to delete this timer. Signed-off-by: Chen Jun jun.d.c...@intel.com Signed-off-by: channing chao...@intel.com --- drivers/tty/serial/ifx6x60.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/tty/serial/ifx6x60.c b/drivers/tty/serial/ifx6x60.c index 675d94a..7eed323 100644 --- a/drivers/tty/serial/ifx6x60.c +++ b/drivers/tty/serial/ifx6x60.c @@ -637,6 +637,7 @@ static void ifx_port_shutdown(struct tty_port *port) clear_bit(IFX_SPI_STATE_IO_AVAILABLE, ifx_dev-flags); mrdy_set_low(ifx_dev); + del_timer(ifx_dev-spi_timer); clear_bit(IFX_SPI_STATE_TIMER_PENDING, ifx_dev-flags); tasklet_kill(ifx_dev-io_work_tasklet); } -- 1.7.1 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] serial:ifx6x60:Delete SPI timer when shut down port
When shut down SPI port, it's possible that MRDY has been asserted and a SPI timer was activated waiting for SRDY assert, in the case, it needs to delete this timer. Signed-off-by: Chen Jun Signed-off-by: channing --- drivers/tty/serial/ifx6x60.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/tty/serial/ifx6x60.c b/drivers/tty/serial/ifx6x60.c index 675d94a..7eed323 100644 --- a/drivers/tty/serial/ifx6x60.c +++ b/drivers/tty/serial/ifx6x60.c @@ -637,6 +637,7 @@ static void ifx_port_shutdown(struct tty_port *port) clear_bit(IFX_SPI_STATE_IO_AVAILABLE, _dev->flags); mrdy_set_low(ifx_dev); + del_timer(_dev->spi_timer); clear_bit(IFX_SPI_STATE_TIMER_PENDING, _dev->flags); tasklet_kill(_dev->io_work_tasklet); } -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] serial:ifx6x60:Delete SPI timer when shut down port
When shut down SPI port, it's possible that MRDY has been asserted and a SPI timer was activated waiting for SRDY assert, in the case, it needs to delete this timer. Signed-off-by: Chen Jun jun.d.c...@intel.com Signed-off-by: channing chao...@intel.com --- drivers/tty/serial/ifx6x60.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/tty/serial/ifx6x60.c b/drivers/tty/serial/ifx6x60.c index 675d94a..7eed323 100644 --- a/drivers/tty/serial/ifx6x60.c +++ b/drivers/tty/serial/ifx6x60.c @@ -637,6 +637,7 @@ static void ifx_port_shutdown(struct tty_port *port) clear_bit(IFX_SPI_STATE_IO_AVAILABLE, ifx_dev-flags); mrdy_set_low(ifx_dev); + del_timer(ifx_dev-spi_timer); clear_bit(IFX_SPI_STATE_TIMER_PENDING, ifx_dev-flags); tasklet_kill(ifx_dev-io_work_tasklet); } -- 1.7.1 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] serial:ifx6x60:Delete SPI timer when shut down port
When shut down SPI port, it's possible that MRDY has been asserted and a SPI timer was activated waiting for SRDY assert, in the case, it needs to delete this timer. Signed-off-by: Chen Jun Signed-off-by: channing --- drivers/tty/serial/ifx6x60.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/tty/serial/ifx6x60.c b/drivers/tty/serial/ifx6x60.c index 5b9bc19..f5e9666 100644 --- a/drivers/tty/serial/ifx6x60.c +++ b/drivers/tty/serial/ifx6x60.c @@ -552,6 +552,7 @@ static void ifx_port_shutdown(struct tty_port *port) container_of(port, struct ifx_spi_device, tty_port); mrdy_set_low(ifx_dev); + del_timer(_dev->spi_timer); clear_bit(IFX_SPI_STATE_TIMER_PENDING, _dev->flags); tasklet_kill(_dev->io_work_tasklet); } -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] serial:ifx6x60:Delete SPI timer when shut down port
On Fri, Nov 23, 2012 at 09:33:33AM +0800, chao bi wrote: > > When shut down SPI port, it's possible that MRDY has been asserted and a SPI > timer was activated waiting for SRDY assert, in the case, it needs to delete > this timer. This doesn't apply without fuzz, so I don't know what tree you are working against here. Please redo it against the latest version of the tty-next tree. greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] serial:ifx6x60:Delete SPI timer when shut down port
On Fri, Nov 23, 2012 at 09:33:33AM +0800, chao bi wrote: When shut down SPI port, it's possible that MRDY has been asserted and a SPI timer was activated waiting for SRDY assert, in the case, it needs to delete this timer. This doesn't apply without fuzz, so I don't know what tree you are working against here. Please redo it against the latest version of the tty-next tree. greg k-h -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] serial:ifx6x60:Delete SPI timer when shut down port
When shut down SPI port, it's possible that MRDY has been asserted and a SPI timer was activated waiting for SRDY assert, in the case, it needs to delete this timer. Signed-off-by: Chen Jun jun.d.c...@intel.com Signed-off-by: channing chao...@intel.com --- drivers/tty/serial/ifx6x60.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/tty/serial/ifx6x60.c b/drivers/tty/serial/ifx6x60.c index 5b9bc19..f5e9666 100644 --- a/drivers/tty/serial/ifx6x60.c +++ b/drivers/tty/serial/ifx6x60.c @@ -552,6 +552,7 @@ static void ifx_port_shutdown(struct tty_port *port) container_of(port, struct ifx_spi_device, tty_port); mrdy_set_low(ifx_dev); + del_timer(ifx_dev-spi_timer); clear_bit(IFX_SPI_STATE_TIMER_PENDING, ifx_dev-flags); tasklet_kill(ifx_dev-io_work_tasklet); } -- 1.7.1 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] serial:ifx6x60:Delete SPI timer when shut down port
When shut down SPI port, it's possible that MRDY has been asserted and a SPI timer was activated waiting for SRDY assert, in the case, it needs to delete this timer. Signed-off-by: Chen Jun Signed-off-by: channing --- drivers/tty/serial/ifx6x60.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/tty/serial/ifx6x60.c b/drivers/tty/serial/ifx6x60.c index 5b9bc19..f5e9666 100644 --- a/drivers/tty/serial/ifx6x60.c +++ b/drivers/tty/serial/ifx6x60.c @@ -552,6 +552,7 @@ static void ifx_port_shutdown(struct tty_port *port) container_of(port, struct ifx_spi_device, tty_port); mrdy_set_low(ifx_dev); + del_timer(_dev->spi_timer); clear_bit(IFX_SPI_STATE_TIMER_PENDING, _dev->flags); tasklet_kill(_dev->io_work_tasklet); } -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] serial:ifx6x60:Delete SPI timer when shut down port
On Thu, 2012-11-22 at 11:06 +, Alan Cox wrote: > > --- a/drivers/tty/serial/ifx6x60.c > > +++ b/drivers/tty/serial/ifx6x60.c > > @@ -552,7 +552,10 @@ static void ifx_port_shutdown(struct tty_port > > *port) container_of(port, struct ifx_spi_device, tty_port); > > > > mrdy_set_low(ifx_dev); > > - clear_bit(IFX_SPI_STATE_TIMER_PENDING, _dev->flags); > > + if (test_and_clear_bit(IFX_SPI_STATE_TIMER_PENDING, > > + _dev->flags)) { > > + del_timer(_dev->spi_timer); > > + } > > You don't actually need the test here as far as I can see. Providing a > timer has been initialised (init_timer) then running del_timer is safe > even if the timer is not currently queued or has completed. > > Alan Yes, thanks. I'll update it. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] serial:ifx6x60:Delete SPI timer when shut down port
When shut down SPI port, it's possible that MRDY has been asserted and a SPI timer was activated waiting for SRDY assert, in the case, it needs to delete this timer. Signed-off-by: Chen Jun Signed-off-by: channing --- drivers/tty/serial/ifx6x60.c |5 - 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/drivers/tty/serial/ifx6x60.c b/drivers/tty/serial/ifx6x60.c index 5b9bc19..467020b 100644 --- a/drivers/tty/serial/ifx6x60.c +++ b/drivers/tty/serial/ifx6x60.c @@ -552,7 +552,10 @@ static void ifx_port_shutdown(struct tty_port *port) container_of(port, struct ifx_spi_device, tty_port); mrdy_set_low(ifx_dev); - clear_bit(IFX_SPI_STATE_TIMER_PENDING, _dev->flags); + if (test_and_clear_bit(IFX_SPI_STATE_TIMER_PENDING, + _dev->flags)) { + del_timer(_dev->spi_timer); + } tasklet_kill(_dev->io_work_tasklet); } -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] serial:ifx6x60:Delete SPI timer when shut down port
On Thu, 22 Nov 2012 16:43:07 +0800 chao bi wrote: > > When shut down SPI port, it's possible that MRDY has been asserted > and a SPI timer was activated waiting for SRDY assert, in the case, > it needs to delete this timer. > > Signed-off-by: Chen Jun > Signed-off-by: channing > --- > drivers/tty/serial/ifx6x60.c |5 - > 1 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/drivers/tty/serial/ifx6x60.c > b/drivers/tty/serial/ifx6x60.c index 5b9bc19..467020b 100644 > --- a/drivers/tty/serial/ifx6x60.c > +++ b/drivers/tty/serial/ifx6x60.c > @@ -552,7 +552,10 @@ static void ifx_port_shutdown(struct tty_port > *port) container_of(port, struct ifx_spi_device, tty_port); > > mrdy_set_low(ifx_dev); > - clear_bit(IFX_SPI_STATE_TIMER_PENDING, _dev->flags); > + if (test_and_clear_bit(IFX_SPI_STATE_TIMER_PENDING, > + _dev->flags)) { > + del_timer(_dev->spi_timer); > + } You don't actually need the test here as far as I can see. Providing a timer has been initialised (init_timer) then running del_timer is safe even if the timer is not currently queued or has completed. Alan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] serial:ifx6x60:Delete SPI timer when shut down port
On Thu, 22 Nov 2012 16:43:07 +0800 chao bi chao...@intel.com wrote: When shut down SPI port, it's possible that MRDY has been asserted and a SPI timer was activated waiting for SRDY assert, in the case, it needs to delete this timer. Signed-off-by: Chen Jun jun.d.c...@intel.com Signed-off-by: channing chao...@intel.com --- drivers/tty/serial/ifx6x60.c |5 - 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/drivers/tty/serial/ifx6x60.c b/drivers/tty/serial/ifx6x60.c index 5b9bc19..467020b 100644 --- a/drivers/tty/serial/ifx6x60.c +++ b/drivers/tty/serial/ifx6x60.c @@ -552,7 +552,10 @@ static void ifx_port_shutdown(struct tty_port *port) container_of(port, struct ifx_spi_device, tty_port); mrdy_set_low(ifx_dev); - clear_bit(IFX_SPI_STATE_TIMER_PENDING, ifx_dev-flags); + if (test_and_clear_bit(IFX_SPI_STATE_TIMER_PENDING, + ifx_dev-flags)) { + del_timer(ifx_dev-spi_timer); + } You don't actually need the test here as far as I can see. Providing a timer has been initialised (init_timer) then running del_timer is safe even if the timer is not currently queued or has completed. Alan -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] serial:ifx6x60:Delete SPI timer when shut down port
When shut down SPI port, it's possible that MRDY has been asserted and a SPI timer was activated waiting for SRDY assert, in the case, it needs to delete this timer. Signed-off-by: Chen Jun jun.d.c...@intel.com Signed-off-by: channing chao...@intel.com --- drivers/tty/serial/ifx6x60.c |5 - 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/drivers/tty/serial/ifx6x60.c b/drivers/tty/serial/ifx6x60.c index 5b9bc19..467020b 100644 --- a/drivers/tty/serial/ifx6x60.c +++ b/drivers/tty/serial/ifx6x60.c @@ -552,7 +552,10 @@ static void ifx_port_shutdown(struct tty_port *port) container_of(port, struct ifx_spi_device, tty_port); mrdy_set_low(ifx_dev); - clear_bit(IFX_SPI_STATE_TIMER_PENDING, ifx_dev-flags); + if (test_and_clear_bit(IFX_SPI_STATE_TIMER_PENDING, + ifx_dev-flags)) { + del_timer(ifx_dev-spi_timer); + } tasklet_kill(ifx_dev-io_work_tasklet); } -- 1.7.1 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] serial:ifx6x60:Delete SPI timer when shut down port
On Thu, 2012-11-22 at 11:06 +, Alan Cox wrote: --- a/drivers/tty/serial/ifx6x60.c +++ b/drivers/tty/serial/ifx6x60.c @@ -552,7 +552,10 @@ static void ifx_port_shutdown(struct tty_port *port) container_of(port, struct ifx_spi_device, tty_port); mrdy_set_low(ifx_dev); - clear_bit(IFX_SPI_STATE_TIMER_PENDING, ifx_dev-flags); + if (test_and_clear_bit(IFX_SPI_STATE_TIMER_PENDING, + ifx_dev-flags)) { + del_timer(ifx_dev-spi_timer); + } You don't actually need the test here as far as I can see. Providing a timer has been initialised (init_timer) then running del_timer is safe even if the timer is not currently queued or has completed. Alan Yes, thanks. I'll update it. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] serial:ifx6x60:Delete SPI timer when shut down port
When shut down SPI port, it's possible that MRDY has been asserted and a SPI timer was activated waiting for SRDY assert, in the case, it needs to delete this timer. Signed-off-by: Chen Jun jun.d.c...@intel.com Signed-off-by: channing chao...@intel.com --- drivers/tty/serial/ifx6x60.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/tty/serial/ifx6x60.c b/drivers/tty/serial/ifx6x60.c index 5b9bc19..f5e9666 100644 --- a/drivers/tty/serial/ifx6x60.c +++ b/drivers/tty/serial/ifx6x60.c @@ -552,6 +552,7 @@ static void ifx_port_shutdown(struct tty_port *port) container_of(port, struct ifx_spi_device, tty_port); mrdy_set_low(ifx_dev); + del_timer(ifx_dev-spi_timer); clear_bit(IFX_SPI_STATE_TIMER_PENDING, ifx_dev-flags); tasklet_kill(ifx_dev-io_work_tasklet); } -- 1.7.1 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/