diff --git a/drivers/staging/media/lirc/lirc_imon.c b/drivers/staging/media/lirc/lirc_imon.c index f2d396cc4a4c7af83a7be1c60b5ef11e953dd0b5..a5b62eec5e21061abbf29bfd9a5a387b426ea7e1 100644 --- a/drivers/staging/media/lirc/lirc_imon.c +++ b/drivers/staging/media/lirc/lirc_imon.c @@ -943,13 +943,17 @@ static int imon_probe(struct usb_interface *interface, usb_free_urb(tx_urb); case 6: usb_free_urb(rx_urb); + /* fall-through */ case 5: if (rbuf) lirc_buffer_free(rbuf); + /* fall-through */ case 4: kfree(rbuf); + /* fall-through */ case 3: kfree(driver); + /* fall-through */ case 2: kfree(context); context = NULL; diff --git a/drivers/staging/media/lirc/lirc_sasem.c b/drivers/staging/media/lirc/lirc_sasem.c index 2f366882e9d5723f1e6ba90d79e5f4e82810f23f..81f90e17e1e67f792e4e5d5da6875e4c2d7e7714 100644 --- a/drivers/staging/media/lirc/lirc_sasem.c +++ b/drivers/staging/media/lirc/lirc_sasem.c @@ -865,15 +865,20 @@ static int sasem_probe(struct usb_interface *interface, usb_free_urb(tx_urb); case 6: usb_free_urb(rx_urb); + /* fall-through */ case 5: lirc_buffer_free(rbuf); + /* fall-through */ case 4: kfree(rbuf); + /* fall-through */ case 3: kfree(driver); + /* fall-through */ case 2: kfree(context); context = NULL; + /* fall-through */ case 1: if (retval == 0) retval = -ENOMEM;