Skip to content

Commit

Permalink
gigaset: gigaset_isowbuf_getbytes() may return signed unnoticed
Browse files Browse the repository at this point in the history
ifd->offset is unsigned.  gigaset_isowbuf_getbytes() may return signed
unnoticed.  Revised version of patch originally submitted by Roel Kluin
<12o3l@tiscali.nl>.

Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Tilman Schmidt authored and Linus Torvalds committed Jul 24, 2008
1 parent 5002779 commit 5f09c4c
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions drivers/isdn/gigaset/bas-gigaset.c
Original file line number Diff line number Diff line change
Expand Up @@ -1050,10 +1050,9 @@ static int submit_iso_write_urb(struct isow_urbctx_t *ucx)
}

/* retrieve block of data to send */
ifd->offset = gigaset_isowbuf_getbytes(ubc->isooutbuf,
ifd->length);
if (ifd->offset < 0) {
if (ifd->offset == -EBUSY) {
rc = gigaset_isowbuf_getbytes(ubc->isooutbuf, ifd->length);
if (rc < 0) {
if (rc == -EBUSY) {
gig_dbg(DEBUG_ISO,
"%s: buffer busy at frame %d",
__func__, nframe);
Expand All @@ -1062,11 +1061,12 @@ static int submit_iso_write_urb(struct isow_urbctx_t *ucx)
} else {
dev_err(ucx->bcs->cs->dev,
"%s: buffer error %d at frame %d\n",
__func__, ifd->offset, nframe);
return ifd->offset;
__func__, rc, nframe);
return rc;
}
break;
}
ifd->offset = rc;
ucx->limit = ubc->isooutbuf->nextread;
ifd->status = 0;
ifd->actual_length = 0;
Expand Down

0 comments on commit 5f09c4c

Please sign in to comment.