lkml.org 
[lkml]   [2012]   [Apr]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] sound/isa/sc6000.c: add missing sc6000_setup_board
    At Thu, 19 Apr 2012 14:21:59 +0200 (CEST),
    Julia Lawall wrote:
    >
    > 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@lip6.fr>
    > >>
    > >> 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@lip6.fr>
    > >>
    > >> ---
    > >> 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.

    Some error paths in sc6000_init_board() don't look necessary to call
    sc6000_setup_board(0), indeed. But it's not too critical to call
    sc6000_setup_board() at that timinig (there should be no hang), so I
    don't think we need to change it unless it hits any real problem.


    thanks,

    Takashi


    >
    > 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@vger.kernel.org
    > > More majordomo info at http://vger.kernel.org/majordomo-info.html
    > >
    >


    \
     
     \ /
      Last update: 2012-04-19 14:31    [W:0.038 / U:0.012 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site