V4L/DVB (8895): pvrusb2: Fail gracefully if an alien USB ID is used
The driver includes an internal table specifying additional information on a per device-type basis. This works great until somebody tries to run-time associate another USB ID with the driver. This change should hopefully allow the driver to fail gracefully under such a circumstance. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
157afbc0de
commit
fe15f13679
|
@ -1915,7 +1915,7 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf,
|
|||
const struct usb_device_id *devid)
|
||||
{
|
||||
unsigned int idx,cnt1,cnt2,m;
|
||||
struct pvr2_hdw *hdw;
|
||||
struct pvr2_hdw *hdw = NULL;
|
||||
int valid_std_mask;
|
||||
struct pvr2_ctrl *cptr;
|
||||
const struct pvr2_device_desc *hdw_desc;
|
||||
|
@ -1925,6 +1925,16 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf,
|
|||
|
||||
hdw_desc = (const struct pvr2_device_desc *)(devid->driver_info);
|
||||
|
||||
if (hdw_desc == NULL) {
|
||||
pvr2_trace(PVR2_TRACE_INIT, "pvr2_hdw_create:"
|
||||
" No device description pointer,"
|
||||
" unable to continue.");
|
||||
pvr2_trace(PVR2_TRACE_INIT, "If you have a new device type,"
|
||||
" please contact Mike Isely <isely@pobox.com>"
|
||||
" to get it included in the driver\n");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
hdw = kzalloc(sizeof(*hdw),GFP_KERNEL);
|
||||
pvr2_trace(PVR2_TRACE_INIT,"pvr2_hdw_create: hdw=%p, type \"%s\"",
|
||||
hdw,hdw_desc->description);
|
||||
|
|
Loading…
Reference in New Issue