mirror of
https://github.com/torvalds/linux.git
synced 2024-12-14 23:25:54 +00:00
[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
Block a user