On Thu, 19 Apr 2012, Takashi Iwai wrote:
At Thu, 19 Apr 2012 08:40:40 +0200,
Julia Lawall wrote:
From: Julia Lawall <Julia.Lawall@xxxxxxx>
There seems to be no interaction between *port and the requested region, so
the clearing of *vport should take place if the request_region fails.
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
---
Not tested. sc6000_setup_board seems rather complicated, so my reasoning
could be completely wrong.
This setup is called first at sc6000_init_board(), which is called
much later than these error paths. So, I don't think the need to call
sc6000_setup_board(*vport, 0) at err_unmap1.
Thanks for the feedback. I guess then it is not needed on the failure
of devm_ioport_map either. Is it needed on the failure of
sc6000_init_board? That can fail either before or after the calls to
sc6000_setup_board hav taken place.
thanks,
julia
thanks,
Takashi
sound/isa/sc6000.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/sound/isa/sc6000.c b/sound/isa/sc6000.c
index d97d0f3..57679cb 100644
--- a/sound/isa/sc6000.c
+++ b/sound/isa/sc6000.c
@@ -594,7 +594,7 @@ static int __devinit snd_sc6000_probe(struct device *devptr, unsigned int dev)
snd_printk(KERN_ERR PFX
"I/O port cannot be iomaped.\n");
err = -EBUSY;
- goto err_unmap1;
+ goto err_unmap0;
}
/* to make it marked as used */
@@ -678,9 +678,10 @@ static int __devinit snd_sc6000_probe(struct device *devptr, unsigned int dev)
return 0;
err_unmap2:
- sc6000_setup_board(*vport, 0);
release_region(mss_port[dev], 4);
err_unmap1:
+ sc6000_setup_board(*vport, 0);
+err_unmap0:
release_region(port[dev], 0x10);
err_exit:
snd_card_free(card);
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html