[PATCH 4.4 099/101] [media] cx23885-dvb: move initialization of a8293_pdata
From: Greg Kroah-Hartman
Date: Tue Jan 10 2017 - 10:01:22 EST
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
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 <dhowells@xxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
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",