mirror of https://gitee.com/openkylin/linux.git
[media] gspca - sonixj: Fix a zero divide in isoc interrupt
In case of short marker, the number of received packets was not incremented doing a zero divide when computing the filling rate. Reported-by: Hans Petter Selasky <hans.petter.selasky@bitfrost.no> Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
f36c7d9e9d
commit
788ab1bb03
|
@ -2923,6 +2923,10 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
|
|||
* not the JPEG end of frame ('ff d9').
|
||||
*/
|
||||
|
||||
/* count the packets and their size */
|
||||
sd->npkt++;
|
||||
sd->pktsz += len;
|
||||
|
||||
/*fixme: assumption about the following code:
|
||||
* - there can be only one marker in a packet
|
||||
*/
|
||||
|
@ -2945,10 +2949,6 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
|
|||
data += i;
|
||||
}
|
||||
|
||||
/* count the packets and their size */
|
||||
sd->npkt++;
|
||||
sd->pktsz += len;
|
||||
|
||||
/* search backwards if there is a marker in the packet */
|
||||
for (i = len - 1; --i >= 0; ) {
|
||||
if (data[i] != 0xff) {
|
||||
|
|
Loading…
Reference in New Issue