[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