On 02/28/2012 12:56 AM, Hauke Mehrtens wrote:
        if (!bus->drv_cc.core)
                return -EOPNOTSUPP;

-       if (!(bus->drv_cc.capabilities&  BCMA_CC_CAP_SPROM))
-               return -ENOENT;
-
-       if (bus->drv_cc.core->id.rev>= 32) {
-               sromctrl = bcma_read32(bus->drv_cc.core, BCMA_CC_SROM_CONTROL);
-               if (!(sromctrl&  BCMA_CC_SROM_CONTROL_PRESENT))
-                       return -ENOENT;
+       if (!bcma_is_sprom_available(bus)) {
+               /*
+                * Maybe there is no SPROM on the device?
+                * Now we ask the arch code if there is some sprom
+                * available for this device in some other storage.
+                */
+               err = bcma_fill_sprom_with_fallback(bus,&bus->sprom);
+               if (err) {
+                       pr_warn("Using fallback SPROM failed (err %d)\n", err);

Hi Hauke,

I just noticed in this patch that the code continues when sprom fallback fails. Does that make sense? I have corrected it in my OTP patch. So if you agree or disagree you can comment on that patch.

+               } else {
+                       pr_debug("Using SPROM revision %d provided by"
+                                " platform.\n", bus->sprom.revision);
+                       return 0;
+               }
        }

        sprom = kcalloc(SSB_SPROMSIZE_WORDS_R4, sizeof(u16),

Gr. AvS


_______________________________________________
b43-dev mailing list
b43-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/b43-dev

Reply via email to