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').
|
* 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:
|
/*fixme: assumption about the following code:
|
||||||
* - there can be only one marker in a packet
|
* - 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;
|
data += i;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* count the packets and their size */
|
|
||||||
sd->npkt++;
|
|
||||||
sd->pktsz += len;
|
|
||||||
|
|
||||||
/* search backwards if there is a marker in the packet */
|
/* search backwards if there is a marker in the packet */
|
||||||
for (i = len - 1; --i >= 0; ) {
|
for (i = len - 1; --i >= 0; ) {
|
||||||
if (data[i] != 0xff) {
|
if (data[i] != 0xff) {
|
||||||
|
Loading…
Reference in New Issue
Block a user