[OT] Podpowiedzcie proszę, gdzie należy wysyłać takie zgłoszenia błędów
Łukasz Maśko
ed at yen.ipipan.waw.pl
Tue Feb 12 14:36:30 CET 2013
Dnia wtorek, 12 lutego 2013 12:31:20 Paweł Sikora pisze:
[...]
> duzy to patch?
Nie:
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 042c1ff..d07c240 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1872,7 +1872,14 @@ int regulator_count_voltages(struct regulator
*regulator)
{
struct regulator_dev *rdev = regulator->rdev;
- return rdev->desc->n_voltages ? : -EINVAL;
+ if (rdev->constraints->valid_ops_mask & REGULATOR_CHANGE_VOLTAGE) {
+ if (rdev->desc->n_voltages)
+ return rdev->desc->n_voltages;
+ else
+ return -EINVAL;
+ } else {
+ return 1;
+ }
}
EXPORT_SYMBOL_GPL(regulator_count_voltages);
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index c7851c0..6f6534e 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -2923,7 +2923,7 @@ int sdhci_add_host(struct sdhci_host *host)
regulator_enable(host->vmmc);
#ifdef CONFIG_REGULATOR
- if (host->vmmc) {
+ if (host->vmmc && regulator_count_voltages(host->vmmc) > 1) {
ret = regulator_is_supported_voltage(host->vmmc, 3300000,
3300000);
if ((ret <= 0) || (!(caps[0] & SDHCI_CAN_VDD_330)))
> jesli on naprawia regresje w kontekscie takim, ze sprzet znow
> dziala, to ja bym to probowal popchnac do stable zeby najblizszy
> 3.7.y/3.8.y bylyb lepsze niz wydanie x.y.0.
Historia w skrócie jest taka, że przy niektórych regulatorach w kernelu 3.5.7
przy wkładaniu/wyjmowaniu karty był wykonywany kod, który nie powinien być
wykonywany, chociaż nie robił niczego złego, ale skutkował takim komunikatem:
sdhci-pci 0000:02:01.2: could not set regulator OCR (-22)
Jakaś mądra głowa postanowiła to "naprawić" i zostały wprowadzone poprawki
przez sprawdzanie zgłaszanych poziomów napięcia. Ale osoba ta nie
przewidziała, że są regulatory, które nie zgłaszają poziomów napięcia.
Wprowadzona poprawka "pozbyła się" błędnych komunikatów, ale jednocześnie
wyłączyła z działania taki regulator, przez co przestawał działać czytnik. I
tak mamy oficjalnie od kerneli 3.6.x. Rzeczony haker (Marek Szpyrowski)
opracował poprawkę, która naprawia takie działanie, wysłał ją na listę linux-
mmc, ale wersja dla wcześniejszych kerneli nie została przyjęta. Dopiero
ostatnio przyjęto wersję, która będzie włączona w kernel 3.9. Moim skromnym
zdaniem, nie ma sensu pchać tego do oficjalnego kernela, bo skoro nie wzięli
wcześniej, to czemu mają wziąć teraz? No, chyba że ktoś ma odpowiednią siłę
przebicia, ale to na pewno nie ja ;-)
--
Łukasz Maśko _o)
Lukasz.Masko(at)ipipan.waw.pl /\\
Registered Linux User #61028 _\_V
Ubuntu: staroafrykańskie słowo oznaczające "Nie umiem zainstalować Debiana"
More information about the pld-devel-pl
mailing list