For USS820 driver we need to manually reset TX FIFO at each SETUP transaction

because the chip doesn't do this by itself.

Submitted by:	Hans Petter Selasky
This commit is contained in:
Andrew Thompson 2010-03-11 21:49:00 +00:00
parent 6a268418dc
commit 6703f98c02
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=205034

View File

@ -333,6 +333,14 @@ uss820dci_setup_rx(struct uss820dci_td *td)
} else {
sc->sc_dv_addr = 0xFF;
}
/* reset TX FIFO */
temp = USS820_READ_1(sc, USS820_TXCON);
temp |= USS820_TXCON_TXCLR;
USS820_WRITE_1(sc, USS820_TXCON, temp);
temp &= ~USS820_TXCON_TXCLR;
USS820_WRITE_1(sc, USS820_TXCON, temp);
return (0); /* complete */
setup_not_complete: