October 15, 2016 6:42 PM, "SF Markus Elfring" <elfring@xxxxxxxxxxxxxxxxxxxxx> wrote: >>> + /* Set CEIR_EN */ >>> + wbcir_set_bits(data->wbase + WBCIR_REG_WCEIR_CTL, 0x01, 0x01); >>> +set_irqmask: >>> /* >>> * ACPI will set the HW disable bit for SP3 which means that the >>> * output signals are left in an undefined state which may cause >>> @@ -876,6 +858,14 @@ wbcir_shutdown(struct pnp_dev *device) >>> */ >>> wbcir_set_irqmask(data, WBCIR_IRQ_NONE); >>> disable_irq(data->irq); >>> + return; >>> +clear_bits: >>> + /* Clear BUFF_EN, Clear END_EN, Clear MATCH_EN */ >>> + wbcir_set_bits(data->wbase + WBCIR_REG_WCEIR_EV_EN, 0x00, 0x07); >>> + >>> + /* Clear CEIR_EN */ >>> + wbcir_set_bits(data->wbase + WBCIR_REG_WCEIR_CTL, 0x00, 0x01); >>> + goto set_irqmask; >> >> I'm not convinced that adding a goto which goes backwards is making this >> code any more readible, just so that a local variable can be dropped. > > Thanks for your feedback. > > Is such a "backward jump" usual and finally required when you would like > to move a bit of common error handling code to the end without using extra > local variables and a few statements should still be performed after it? > I'm sorry, I can't parse this. -- 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