V4L/DVB (11334): pvrusb2: Fix uninitialized tuner_setup field(s)
authorMike Isely <isely@pobox.com>
Wed, 1 Apr 2009 04:55:26 +0000 (01:55 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 7 Apr 2009 00:43:52 +0000 (21:43 -0300)
Any time a struct (especially one not defined by this driver) is
allocated, we MUST zero its underlying storage.  This makes our usage
of the struct predictable and robust against future changes where
fields might be added that we don't know about.  Failing to do this
with tuner_setup left the config field uninitialized which then caused
trouble with the tuner type used for HVR-1950 devices.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/pvrusb2/pvrusb2-hdw.c

index 7a65b42a4f53571abdba88c11d36bd83c7fad011..cdd8b13a19aea50dd5c8b247b3cbe47fb73550e9 100644 (file)
@@ -2926,6 +2926,7 @@ static void pvr2_subdev_update(struct pvr2_hdw *hdw)
                pvr2_trace(PVR2_TRACE_CHIPS, "subdev tuner set_type(%d)",
                           hdw->tuner_type);
                if (((int)(hdw->tuner_type)) >= 0) {
+                       memset(&setup, 0, sizeof(setup));
                        setup.addr = ADDR_UNSET;
                        setup.type = hdw->tuner_type;
                        setup.mode_mask = T_RADIO | T_ANALOG_TV;