staging/serqt_usb2: Refactor qt_status_change_check() in serqt_usb2.c
PATCH 1/1 staging/serqt_usb2: Refactor qt_status_change_check() in serqt_usb2.c
Modify qt_status_change_check() and delete qt_status_change().
--- drivers/staging/serqt_usb2/serqt_usb2.c | 53 +++++++++++++------------------ 1 file changed, 22 insertions(+), 31 deletions(-)
drivers/staging/serqt_usb2/serqt_usb2.c +22 -31
@@ -291,33 +291,6 @@ static void qt_interrupt_callback(struct urb *urb)/* FIXME */ } -static int qt_status_change (unsigned int limit, -unsigned char *data, -int i, -struct quatech_port *qt_port, -struct usb_serial_port *port) -{ -void (*fn)(struct quatech_port *,unsigned char ); - -if (0x00 == data[i +2 ]) { -dev_dbg (&port->dev,"Line status status.\n" ); - fn = ProcessLineStatus; - }else { -dev_dbg (&port->dev,"Modem status status.\n" ); - fn = ProcessModemStatus; - } - -if (i > limit) { -dev_dbg (&port->dev, -"Illegal escape seuences in received data\n" ); -return 0 ; - } - - (*fn)(qt_port, data[i +3 ]); - -return 1 ; -} - static void qt_status_change_check(struct tty_struct *tty, struct urb *urb, struct quatech_port *qt_port,
@@ -334,11 +307,29 @@ static void qt_status_change_check(struct tty_struct *tty, flag =0 ;switch (data[i +2 ]) {case 0x00 : +if (i > (RxCount -4 )) { +dev_dbg (&port->dev, +"Illegal escape seuences in received data\n" ); +break ; + } + +ProcessLineStatus (qt_port, data[i +3 ]); + + i +=3 ; + flag =1 ; +break ; +case 0x01 : - flag =qt_status_change ((RxCount -4 ), data, i, - qt_port, port); -if (flag ==1 ) - i +=3 ; +if (i > (RxCount -4 )) { +dev_dbg (&port->dev, +"Illegal escape seuences in received data\n" ); +break ; + } + +ProcessModemStatus (qt_port, data[i +3 ]); + + i +=3 ; + flag =1 ;break ;case 0xff :
Signature · 1 line
1.7.9.5
Quoted 2 lines · YAMANE Toshiaki
Modify
qt_status_change_check()and deleteqt_status_change().
Thanks for doing that. I think it's a lot easier to read that way.
regards,
dan carpenter
drivers/staging/serqt_usb2/serqt_usb2.c
Quoted 8 lines · YAMANE Toshiaki
Modify
qt_status_change_check()and deleteqt_status_change().Signed-off-by YAMANE Toshiaki <[email protected]>--- drivers/staging/serqt_usb2/serqt_usb2.c | 53 +++++++++++++------------------ 1 file changed, 22 insertions(+), 31 deletions(-)drivers/staging/serqt_usb2/serqt_usb2.c +0
-0
[]
drivers/staging/serqt_usb2/serqt_usb2.c static void qt_status_change_check(struct tty_struct *tty, · line 312
Quoted 7 lines
drivers/staging/serqt_usb2/serqt_usb2.c +3
-0@@ -334,11 +307,29 @@ static void qt_status_change_check(struct tty_struct *tty, flag =0 ;switch (data[i +2 ]) {case 0x00 : +if (i > (RxCount -4 )) { +dev_dbg (&port->dev, +"Illegal escape seuences in received data\n" );
trivia: seuences/sequence
drivers/staging/serqt_usb2/serqt_usb2.c static void qt_status_change_check(struct tty_struct *tty, · line 318
Quoted 6 lines
drivers/staging/serqt_usb2/serqt_usb2.c +6
-0+break ; + } + +ProcessLineStatus (qt_port, data[i +3 ]); + + i +=3 ;
you could move the i += 3 before the ProcessLineStatus and use data[i]
drivers/staging/serqt_usb2/serqt_usb2.c static void qt_status_change_check(struct tty_struct *tty, · line 325
Quoted 11 lines
drivers/staging/serqt_usb2/serqt_usb2.c +6
-4+ flag =1 ; +break ; +case 0x01 : - flag =qt_status_change ((RxCount -4 ), data, i, - qt_port, port); -if (flag ==1 ) - i +=3 ; +if (i > (RxCount -4 )) { +dev_dbg (&port->dev, +"Illegal escape seuences in received data\n" );
typo here too
drivers/staging/serqt_usb2/serqt_usb2.c static void qt_status_change_check(struct tty_struct *tty, · line 331
Quoted 6 lines
drivers/staging/serqt_usb2/serqt_usb2.c +6
-0+break ; + } + +ProcessModemStatus (qt_port, data[i +3 ]); + + i +=3 ;
same i += 3
drivers/staging/serqt_usb2/serqt_usb2.c static void qt_status_change_check(struct tty_struct *tty, · line 335
Quoted 4 lines
drivers/staging/serqt_usb2/serqt_usb2.c +1
-0+ flag =1 ;break ;case 0xff :
What about something like:
case 0x0:
case 0x1:
if (i > (RxCount - 4)) {
dev_dbg(&port->dev,
"Illegal escape sequence in received data\n");
break;
}
if (data[i + 2] == 0x0)
ProcessLineStatus(qt_port, data[i + 3]);
else
ProcessModemStatus(qt_port, data[i + 3]);
i += 3;
flag = 1;break;
PATCH v2 1/1 staging/serqt_usb2: Refactor qt_status_change_check() in serqt_usb2.c
Modify qt_status_change_check() and delete qt_status_change().
--- drivers/staging/serqt_usb2/serqt_usb2.c | 53 +++++++++++++------------------ 1 file changed, 22 insertions(+), 31 deletions(-)
drivers/staging/serqt_usb2/serqt_usb2.c +22 -31
@@ -291,33 +291,6 @@ static void qt_interrupt_callback(struct urb *urb)/* FIXME */ } -static int qt_status_change (unsigned int limit, -unsigned char *data, -int i, -struct quatech_port *qt_port, -struct usb_serial_port *port) -{ -void (*fn)(struct quatech_port *,unsigned char ); - -if (0x00 == data[i +2 ]) { -dev_dbg (&port->dev,"Line status status.\n" ); - fn = ProcessLineStatus; - }else { -dev_dbg (&port->dev,"Modem status status.\n" ); - fn = ProcessModemStatus; - } - -if (i > limit) { -dev_dbg (&port->dev, -"Illegal escape seuences in received data\n" ); -return 0 ; - } - - (*fn)(qt_port, data[i +3 ]); - -return 1 ; -} - static void qt_status_change_check(struct tty_struct *tty, struct urb *urb, struct quatech_port *qt_port,
@@ -334,11 +307,29 @@ static void qt_status_change_check(struct tty_struct *tty, flag =0 ;switch (data[i +2 ]) {case 0x00 : +if (i > (RxCount -4 )) { +dev_dbg (&port->dev, +"Illegal escape sequences in received data\n" ); +break ; + } + + i +=3 ; +ProcessLineStatus (qt_port, data[i]); + + flag =1 ; +break ; +case 0x01 : - flag =qt_status_change ((RxCount -4 ), data, i, - qt_port, port); -if (flag ==1 ) - i +=3 ; +if (i > (RxCount -4 )) { +dev_dbg (&port->dev, +"Illegal escape sequences in received data\n" ); +break ; + } + + i +=3 ; +ProcessModemStatus (qt_port, data[i]); + + flag =1 ;break ;case 0xff :
Signature · 1 line
1.7.9.5