Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=92b3e2e9253a9f4c9224071842fd263c334dece0
Commit:     92b3e2e9253a9f4c9224071842fd263c334dece0
Parent:     ae6ead4623bfbc57f3945ff86f27e51811e2e91b
Author:     Daniel Drake <[EMAIL PROTECTED]>
AuthorDate: Tue Apr 3 23:17:37 2007 +0100
Committer:  John W. Linville <[EMAIL PROTECTED]>
CommitDate: Tue Apr 10 14:35:56 2007 -0400

    [PATCH] zd1211rw: Fix E2P_PHY_REG patching
    
    Due to conflicting/confusing defines in the vendor driver, we were
    reading E2P_PHY_REG from the wrong location.
    
    CR157 patching was slightly incorrect in that the vendor driver only
    patches in an 8-bit value, whereas we were patching 24 bits.
    
    Additionally, CR157 patching was happening on both zd1211 and zd1211b,
    but this should only happen on zd1211.
    
    Signed-off-by: Daniel Drake <[EMAIL PROTECTED]>
    Signed-off-by: Ulrich Kunitz <[EMAIL PROTECTED]>
    Signed-off-by: John W. Linville <[EMAIL PROTECTED]>
---
 drivers/net/wireless/zd1211rw/zd_chip.c |   11 +++--------
 drivers/net/wireless/zd1211rw/zd_chip.h |    2 +-
 2 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/net/wireless/zd1211rw/zd_chip.c 
b/drivers/net/wireless/zd1211rw/zd_chip.c
index 9d299bd..87ee3ee 100644
--- a/drivers/net/wireless/zd1211rw/zd_chip.c
+++ b/drivers/net/wireless/zd1211rw/zd_chip.c
@@ -592,16 +592,16 @@ int zd_chip_unlock_phy_regs(struct zd_chip *chip)
        return r;
 }
 
-/* CR157 can be optionally patched by the EEPROM */
+/* CR157 can be optionally patched by the EEPROM for original ZD1211 */
 static int patch_cr157(struct zd_chip *chip)
 {
        int r;
-       u32 value;
+       u16 value;
 
        if (!chip->patch_cr157)
                return 0;
 
-       r = zd_ioread32_locked(chip, &value, E2P_PHY_REG);
+       r = zd_ioread16_locked(chip, &value, E2P_PHY_REG);
        if (r)
                return r;
 
@@ -791,11 +791,6 @@ static int zd1211b_hw_reset_phy(struct zd_chip *chip)
                goto out;
 
        r = zd_iowrite16a_locked(chip, ioreqs, ARRAY_SIZE(ioreqs));
-       if (r)
-               goto unlock;
-
-       r = patch_cr157(chip);
-unlock:
        t = zd_chip_unlock_phy_regs(chip);
        if (t && !r)
                r = t;
diff --git a/drivers/net/wireless/zd1211rw/zd_chip.h 
b/drivers/net/wireless/zd1211rw/zd_chip.h
index ae39c22..e57ed75 100644
--- a/drivers/net/wireless/zd1211rw/zd_chip.h
+++ b/drivers/net/wireless/zd1211rw/zd_chip.h
@@ -641,8 +641,8 @@ enum {
  * also only 11 channels. */
 #define E2P_ALLOWED_CHANNEL    E2P_DATA(0x18)
 
-#define E2P_PHY_REG            E2P_DATA(0x1a)
 #define E2P_DEVICE_VER         E2P_DATA(0x20)
+#define E2P_PHY_REG            E2P_DATA(0x25)
 #define E2P_36M_CAL_VALUE1     E2P_DATA(0x28)
 #define E2P_36M_CAL_VALUE2      E2P_DATA(0x2a)
 #define E2P_36M_CAL_VALUE3      E2P_DATA(0x2c)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to