4.4-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Mauro Carvalho Chehab <[email protected]>

commit f0b0faff78c2c2e8efe843de55405a1f0470b8c4 upstream.

Smatch complains about where the au8293_data is placed:

drivers/media/pci/cx23885/cx23885-dvb.c:2174 dvb_register() info: 'a8293_pdata' 
is not actually initialized (unreached code).

It is not actually expected to have such initialization at

switch {
        foo = bar;

        case:
...
}

Not really sure how gcc does that, but this is something that I would
expect that different compilers would do different things.

David Howells checked with the compiler people: it's not really expected to
initialise as expected.

So, move the initialization outside the switch(), making smatch to
shut up one warning.

Acked-by: David Howells <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/media/pci/cx23885/cx23885-dvb.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

--- a/drivers/media/pci/cx23885/cx23885-dvb.c
+++ b/drivers/media/pci/cx23885/cx23885-dvb.c
@@ -2168,11 +2168,12 @@ static int dvb_register(struct cx23885_t
                }
                port->i2c_client_tuner = client_tuner;
                break;
-       case CX23885_BOARD_HAUPPAUGE_HVR5525:
-               switch (port->nr) {
+       case CX23885_BOARD_HAUPPAUGE_HVR5525: {
                struct m88rs6000t_config m88rs6000t_config;
                struct a8293_platform_data a8293_pdata = {};
 
+               switch (port->nr) {
+
                /* port b - satellite */
                case 1:
                        /* attach frontend */
@@ -2267,6 +2268,7 @@ static int dvb_register(struct cx23885_t
                        break;
                }
                break;
+       }
        default:
                printk(KERN_INFO "%s: The frontend of your DVB/ATSC card "
                        " isn't supported yet\n",


Reply via email to