lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 8 Sep 2010 15:51:14 -0700 From: Andrew Morton <akpm@...ux-foundation.org> To: Linus Walleij <linus.walleij@...ricsson.com> Cc: linux-kernel@...r.kernel.org, Liam Girdwood <lrg@...mlogic.co.uk>, Mark Brown <broonie@...nsource.wolfsonmicro.com>, Tony Lindgren <tony@...mide.com>, Adrian Hunter <adrian.hunter@...ia.com>, Robert Jarzmik <robert.jarzmik@...e.fr>, Sundar Iyer <sundar.iyer@...ricsson.com>, Daniel Mack <daniel@...aq.de>, Pierre Ossman <pierre@...man.eu>, Matt Fleming <matt@...sole-pimps.org>, David Brownell <dbrownell@...rs.sourceforge.net>, Russell King <rmk+kernel@....linux.org.uk>, Eric Miao <eric.y.miao@...il.com>, Cliff Brake <cbrake@...-systems.com>, Jarkko Lavinen <jarkko.lavinen@...ia.com>, linux-mmc@...r.kernel.org, linux-arm-kernel@...ts.infradead.org Subject: Re: [PATCH] MMC: move regulator handling closer to core v3 On Sun, 5 Sep 2010 11:05:38 +0200 Linus Walleij <linus.walleij@...ricsson.com> wrote: > After discovering a problem in regulator reference counting I > took Mark Brown's advice to move the reference count into the > MMC core by making the regulator status a member of > struct mmc_host. > > > ... > > -static inline void pxamci_set_power(struct pxamci_host *host, unsigned int vdd) > +static inline void pxamci_set_power(struct pxamci_host *host, > + unsigned char power_mode, > + unsigned int vdd) > { > int on; > > -#ifdef CONFIG_REGULATOR > - if (host->vcc) > - mmc_regulator_set_ocr(host->vcc, vdd); > -#endif > + if (host->vcc) { > + int ret; > + > + if (power_mode == MMC_POWER_UP) > + ret = mmc_regulator_set_ocr(host->mmc, host->vcc, vdd); > + else if (power_mode == MMC_POWER_OFF) > + ret = mmc_regulator_set_ocr(host->mmc, host->vcc, 0); > + } There's no point in copying the return value into a local then ignoring it. mmc_regulator_set_ocr() can return a negative errno so we should test for that, clean up and propagate the error. If we really do deliberately ignore the error then there should be a code comment which excuses this behaviour and perhaps a warning printk. The same comments apply to mmci_set_ios(). omap_hsmmc_1_set_power() gets it right. Why doesn't omap_hsmmc_23_set_sleep() run .before_set_reg() and .after_set_reg()? > > ... > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists