Re: [PATCH] staging/serqt_usb2: Refactor qt_status_change_check() in serqt_usb2.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2012-11-17 at 05:19 +0900, YAMANE Toshiaki wrote:
> Modify qt_status_change_check() and delete qt_status_change().
> 
> Signed-off-by: YAMANE Toshiaki <yamanetoshi@xxxxxxxxx>
> ---
>  drivers/staging/serqt_usb2/serqt_usb2.c |   53 +++++++++++++------------------
>  1 file changed, 22 insertions(+), 31 deletions(-)
> 
> diff --git a/drivers/staging/serqt_usb2/serqt_usb2.c b/drivers/staging/serqt_usb2/serqt_usb2.c
[]
> @@ -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

> +					break;
> +				}
> +
> +				ProcessLineStatus(qt_port, data[i + 3]);
> +
> +				i += 3;

you could move the i += 3 before the ProcessLineStatus
and use 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 seuences in received data\n");

typo here too

> +					break;
> +				}
> +
> +				ProcessModemStatus(qt_port, data[i + 3]);
> +
> +				i += 3;

same i += 3

> +				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;



_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux