On Fri, 2011-01-21 at 23:24 +0200, Vasily Khoruzhick wrote: > On Friday 21 January 2011 23:22:37 Marek Vasut wrote: > > On Friday 21 January 2011 21:44:48 Vasily Khoruzhick wrote: > > > Use workqueue to perform SPI xfers, it's necessary to fix > > > nasty "BUG: scheduling while atomic", because > > > spu_write() calls spi_sync() and spi_sync() may sleep, but > > > hw_host_to_card() callback can be called from atomic context. > > > Remove kthread completely, workqueue now does its job. > > > Restore intermediate buffers which were removed in commit > > > 86c34fe89e9cad9e1ba4d1a8bbf98259035f4caf that introduced > > > mentioned bug. > > > > I have two questions: > > > > 1) Why not leave kthread there? ie. why switch to workqueue > > Because it's not easy to ensure that kthread did its job in suspend handler, > and to make if_spi.c look similar to if_sdio.c. > > > 2) This should be split into two patches I guess -- a) revert the change b) > > convert to workqueue -- so they can be (N)ACKed separatedly > > Actually just reverting commit does not make driver work (it will fail on > rmmod), and it can impact on future bisect (if it'll be necessary). But if > it's requirement - ok. I'll disagree with Marek; I don't think it's a hard requirement as long as there's a good reason. And if the driver doesn't work by reverting, then you're right bisect is broken and that sucks. I don't have a problem with the "mega" patch (given that it's not really that large). Dan -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html