File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -176,23 +176,26 @@ static int wilc_sdio_probe(struct sdio_func *func,
176176 wilc -> dev_irq_num = irq_num ;
177177
178178 wilc -> rtc_clk = devm_clk_get (& func -> card -> dev , "rtc" );
179- if (PTR_ERR_OR_ZERO (wilc -> rtc_clk ) == - EPROBE_DEFER )
180- return - EPROBE_DEFER ;
181- else if (!IS_ERR (wilc -> rtc_clk ))
179+ if (PTR_ERR_OR_ZERO (wilc -> rtc_clk ) == - EPROBE_DEFER ) {
180+ ret = - EPROBE_DEFER ;
181+ goto dispose_irq ;
182+ } else if (!IS_ERR (wilc -> rtc_clk )) {
182183 clk_prepare_enable (wilc -> rtc_clk );
184+ }
183185
184186 if (!init_power ) {
185187 ret = wilc_wlan_power_on_sequence (wilc );
186188 if (ret )
187- goto netdev_cleanup ;
189+ goto dispose_irq ;
188190 init_power = 1 ;
189191 }
190192
191193 wilc_bt_init (wilc );
192194
193195 dev_info (& func -> dev , "Driver Initializing success\n" );
194196 return 0 ;
195- netdev_cleanup :
197+ dispose_irq :
198+ irq_dispose_mapping (wilc -> dev_irq_num );
196199 wilc_netdev_cleanup (wilc );
197200free :
198201 kfree (sdio_priv );
You can’t perform that action at this time.
0 commit comments