err = snd_card_register(card); > - if (err < 0) { > + if (err) { > +free_card: > snd_card_free(card); > return err; > } I thought we agreed, yesterday, to never use this style of error handling? regards, dan carpenter