Hello, I found out a problem on drivers/net/ppp_async.c: I'm testing a modem(Motorola SM56 Data Fax Modem [1057:3052] that uses the slmodemdriver) and I noted that it stopped to work correctly with kernel2.6.24 or greater. The modem connects once and at the second try itbecomes busy and I have to restart its driver to put it to work again.I tested this only with this hardware, but I think this is a hardwareindependent issue. Theses changes make it stop to work: http://lkml.org/lkml/2007/11/2/100http://lkml.org/lkml/2007/11/2/131 The problem occurs when the execution enters on switch's default caseand call tty_mode_ioctl() and the cmd is not TCGETS or cmd is notTCGETA. I don't know why this happens, but happens. On kernel 2.6.23the switch's default case returns immediately with an error. But nowon kernel 2.6.24 and 2.6.25 switch's default case calltty_mode_ioctl(). This is the unique real change between the twoversions, the others are only code restructuring. Then I made thispatch to revert part of changes and make modem works again. I don'tknow if this is correct. I just put the modem to work. --- a/drivers/net/ppp_async.c. 2008-06-09 13:12:25.000000000 -0300+++ b/drivers/net/ppp_async.c 2008-06-09 13:15:57.000000000 -0300@@ -309,6 +309,11 @@ err = 0; break; + case TCGETS:+ case TCGETA:+ err = tty_mode_ioctl(tty, file, cmd, arg);+ break;+ case TCFLSH: /* flush our buffers and the serial port's buffer */ if (arg == TCIOFLUSH || arg == TCOFLUSH)@@ -324,8 +329,7 @@ break; default:- /* Try the various mode ioctls */- err = tty_mode_ioctl(tty, file, cmd, arg);+ err = -ENOIOCTLCMD; } ap_put(ap); -------------------------------------------Gustavo Fernando PadovanEngenharia de Computação 2006LAS - Laboratório de Administração e Segurança de SistemasInstituto de Computação - UNICAMP gfpadovan@xxxxxxxxxxxxxxxxx@students.ic.unicamp.brpao@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Seja Livre, use Software Livre��.n��������+%������w��{.n�����{���i�)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥