On Mon, Mar 22, 2010 at 2:31 AM, Feng Tang <feng.tang@xxxxxxxxx> wrote: > > Hi Christian, Hi, > > You'd better not call max3110_sr (which calls spi_sync) here, a console's > putchar() func may be called in some atomic context. > ack, I didn't realize that. Unfortunately this makes reliable use of MAX3100 as a console near impossible. Some SPI master driver use workqueues (see the bit banging ones). I don't see any way to yield CPU to them while somehow wait the output has finished (a busy loop won't work: perhaps the thread calling the console has a higher priority than the one doing actual SPI output so the system will deadlock). The only way out I see is to provide a buffer large enough for all practical purposes. Will try it in the next version of the patch. Thanks. -- Christian Pellegrin, see http://www.evolware.org/chri/ "Real Programmers don't play tennis, or any other sport which requires you to change clothes. Mountain climbing is OK, and Real Programmers wear their climbing boots to work in case a mountain should suddenly spring up in the middle of the computer room." -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html