diff options
author | Sean Young <sean@mess.org> | 2014-01-20 17:10:39 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-02-04 14:23:06 -0500 |
commit | 776eced0e336f88fdbe4374306de1f8acaeffcc4 (patch) | |
tree | d4952472929a12e2fff065e4bdeb9062973fc3ce /drivers/media/rc/iguanair.c | |
parent | dd3a5a1e7a8723b137f2af7905db53f011fd7287 (diff) |
[media] iguanair: simplify tx loop
Make the code simpler.
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/rc/iguanair.c')
-rw-r--r-- | drivers/media/rc/iguanair.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/media/rc/iguanair.c b/drivers/media/rc/iguanair.c index 99a3a5a509e6..a83519a6a158 100644 --- a/drivers/media/rc/iguanair.c +++ b/drivers/media/rc/iguanair.c | |||
@@ -364,20 +364,14 @@ static int iguanair_tx(struct rc_dev *dev, unsigned *txbuf, unsigned count) | |||
364 | rc = -EINVAL; | 364 | rc = -EINVAL; |
365 | goto out; | 365 | goto out; |
366 | } | 366 | } |
367 | while (periods > 127) { | 367 | while (periods) { |
368 | ir->packet->payload[size++] = 127 | space; | 368 | unsigned p = min(periods, 127u); |
369 | periods -= 127; | 369 | ir->packet->payload[size++] = p | space; |
370 | periods -= p; | ||
370 | } | 371 | } |
371 | |||
372 | ir->packet->payload[size++] = periods | space; | ||
373 | space ^= 0x80; | 372 | space ^= 0x80; |
374 | } | 373 | } |
375 | 374 | ||
376 | if (count == 0) { | ||
377 | rc = -EINVAL; | ||
378 | goto out; | ||
379 | } | ||
380 | |||
381 | ir->packet->header.start = 0; | 375 | ir->packet->header.start = 0; |
382 | ir->packet->header.direction = DIR_OUT; | 376 | ir->packet->header.direction = DIR_OUT; |
383 | ir->packet->header.cmd = CMD_SEND; | 377 | ir->packet->header.cmd = CMD_SEND; |