]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/wireless/zd1211rw/zd_chip.c
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
[linux-2.6-omap-h63xx.git] / drivers / net / wireless / zd1211rw / zd_chip.c
index 99e5b03b3f514043802a457059bfadafc1770cc9..0acb5c345734760645025d36a7d289504ec93611 100644 (file)
@@ -771,10 +771,10 @@ static int zd1211b_hw_init_hmac(struct zd_chip *chip)
 {
        static const struct zd_ioreq32 ioreqs[] = {
                { CR_ZD1211B_RETRY_MAX,         0x02020202 },
-               { CR_ZD1211B_TX_PWR_CTL4,       0x007f003f },
-               { CR_ZD1211B_TX_PWR_CTL3,       0x007f003f },
-               { CR_ZD1211B_TX_PWR_CTL2,       0x003f001f },
-               { CR_ZD1211B_TX_PWR_CTL1,       0x001f000f },
+               { CR_ZD1211B_CWIN_MAX_MIN_AC0,  0x007f003f },
+               { CR_ZD1211B_CWIN_MAX_MIN_AC1,  0x007f003f },
+               { CR_ZD1211B_CWIN_MAX_MIN_AC2,  0x003f001f },
+               { CR_ZD1211B_CWIN_MAX_MIN_AC3,  0x001f000f },
                { CR_ZD1211B_AIFS_CTL1,         0x00280028 },
                { CR_ZD1211B_AIFS_CTL2,         0x008C003C },
                { CR_ZD1211B_TXOP,              0x01800824 },
@@ -809,6 +809,7 @@ static int hw_init_hmac(struct zd_chip *chip)
                { CR_AFTER_PNP,                 0x1 },
                { CR_WEP_PROTECT,               0x114 },
                { CR_IFS_VALUE,                 IFS_VALUE_DEFAULT },
+               { CR_CAM_MODE,                  MODE_AP_WDS},
        };
 
        ZD_ASSERT(mutex_is_locked(&chip->mutex));
@@ -986,7 +987,7 @@ static int print_fw_version(struct zd_chip *chip)
        return 0;
 }
 
-static int set_mandatory_rates(struct zd_chip *chip, int mode)
+static int set_mandatory_rates(struct zd_chip *chip, int gmode)
 {
        u32 rates;
        ZD_ASSERT(mutex_is_locked(&chip->mutex));
@@ -994,17 +995,12 @@ static int set_mandatory_rates(struct zd_chip *chip, int mode)
         * that the device is supporting. Until further notice we should try
         * to support 802.11g also for full speed USB.
         */
-       switch (mode) {
-       case MODE_IEEE80211B:
+       if (!gmode)
                rates = CR_RATE_1M|CR_RATE_2M|CR_RATE_5_5M|CR_RATE_11M;
-               break;
-       case MODE_IEEE80211G:
+       else
                rates = CR_RATE_1M|CR_RATE_2M|CR_RATE_5_5M|CR_RATE_11M|
                        CR_RATE_6M|CR_RATE_12M|CR_RATE_24M;
-               break;
-       default:
-               return -EINVAL;
-       }
+
        return zd_iowrite32_locked(chip, rates, CR_MANDATORY_RATE_TBL);
 }
 
@@ -1108,7 +1104,7 @@ int zd_chip_init_hw(struct zd_chip *chip)
         * It might be discussed, whether we should suppport pure b mode for
         * full speed USB.
         */
-       r = set_mandatory_rates(chip, MODE_IEEE80211G);
+       r = set_mandatory_rates(chip, 1);
        if (r)
                goto out;
        /* Disabling interrupts is certainly a smart thing here.