Commit fe15f136 authored by Mike Isely's avatar Mike Isely Committed by Mauro Carvalho Chehab

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: default avatarMike Isely <isely@pobox.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 157afbc0
...@@ -1915,7 +1915,7 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf, ...@@ -1915,7 +1915,7 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf,
const struct usb_device_id *devid) const struct usb_device_id *devid)
{ {
unsigned int idx,cnt1,cnt2,m; unsigned int idx,cnt1,cnt2,m;
struct pvr2_hdw *hdw; struct pvr2_hdw *hdw = NULL;
int valid_std_mask; int valid_std_mask;
struct pvr2_ctrl *cptr; struct pvr2_ctrl *cptr;
const struct pvr2_device_desc *hdw_desc; const struct pvr2_device_desc *hdw_desc;
...@@ -1925,6 +1925,16 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf, ...@@ -1925,6 +1925,16 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf,
hdw_desc = (const struct pvr2_device_desc *)(devid->driver_info); 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); hdw = kzalloc(sizeof(*hdw),GFP_KERNEL);
pvr2_trace(PVR2_TRACE_INIT,"pvr2_hdw_create: hdw=%p, type \"%s\"", pvr2_trace(PVR2_TRACE_INIT,"pvr2_hdw_create: hdw=%p, type \"%s\"",
hdw,hdw_desc->description); hdw,hdw_desc->description);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment