On 16 January 2015 at 11:47, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote: > > int mmc_pwrseq_simple_alloc(struct mmc_host *host, struct device *dev) > { > struct mmc_pwrseq_simple *pwrseq; > + int ret = 0; > > pwrseq = kzalloc(sizeof(struct mmc_pwrseq_simple), GFP_KERNEL); > if (!pwrseq) > return -ENOMEM; > > + pwrseq->reset_gpio = gpiod_get_index(dev, "reset", 0, GPIOD_OUT_HIGH); > + if (IS_ERR(pwrseq->reset_gpio) && > + PTR_ERR(pwrseq->reset_gpio) != -ENOENT && > + PTR_ERR(pwrseq->reset_gpio) != -ENOSYS) { > + ret = PTR_ERR(pwrseq->reset_gpio); > + goto free; > + } > + > pwrseq->pwrseq.ops = &mmc_pwrseq_simple_ops; > host->pwrseq = &pwrseq->pwrseq; > > return 0; > +free: > + kfree(&pwrseq); Hi Ulf, this kfree looks a bit fishy (there's one more instance of it in mmc_pwrseq_simple_free). Cheers, Tomeu -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html