• Mike Isely's avatar
    V4L/DVB: pvrusb2: Fix kernel oops on device tear-down · e3a5ee73
    Mike Isely authored
    pvrusb2: Delete sysfs class device as the _very_ last step, after
    we're sure that all driver contexts have gone away first.  This is
    important because it appears that there isn't any protection from a
    struct device instance reference a deleted struct class instance.  The
    assumption in the kernel code appears to be that the class instance is
    assumed to be around for the life of the device.  So we can't let the
    class instance go away until all referencing device instances are
    gone; this is ensured by delaying removal of the class instance until
    after the driver contexts have all gone away.  This bug has been
    present for a very long time but it didn't apparently become malignant
    until recently (probably because of other changes in the kernel).
    Signed-off-by: default avatarMike Isely <isely@pobox.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    e3a5ee73
pvrusb2-main.c 4.35 KB