Re: [PATCH 0/6] Clean up the sdio_uart driver and fix the tty code

Alan Cox
2009-11-03T14:15:56Z

> > sdio_uart_irq
> > sdio_uart_port_remove
> > port->func = NULL;
> > sdio_in
> > BUG_ON
>
> This is actually happening? sdio_claim_host()/sdio_release_host() act

Found by inspection

> like a mutex so sdio_uart_port_remove() will wait in sdio_claim_host()
> until sdio_uart_irq() returns (SDIO interrupt handlers are called with
> the host claimed).

Ok that was a detail I was missing. That part of the locking now makes
sense.

Ok so I think I have it fixed up barring stuff which is "feature add" -
such as implementing TIOCMIWAIT and blocking on no carrier.