diff options
| -rw-r--r-- | drivers/staging/vt6655/device_main.c | 32 | ||||
| -rw-r--r-- | drivers/staging/vt6655/rf.c | 1 | ||||
| -rw-r--r-- | drivers/staging/vt6656/rf.c | 1 |
3 files changed, 17 insertions, 17 deletions
diff --git a/drivers/staging/vt6655/device_main.c b/drivers/staging/vt6655/device_main.c index 4324282afe49..03b2a90b9ac0 100644 --- a/drivers/staging/vt6655/device_main.c +++ b/drivers/staging/vt6655/device_main.c | |||
| @@ -330,16 +330,6 @@ static void device_init_registers(struct vnt_private *pDevice) | |||
| 330 | /* zonetype initial */ | 330 | /* zonetype initial */ |
| 331 | pDevice->byOriginalZonetype = pDevice->abyEEPROM[EEP_OFS_ZONETYPE]; | 331 | pDevice->byOriginalZonetype = pDevice->abyEEPROM[EEP_OFS_ZONETYPE]; |
| 332 | 332 | ||
| 333 | /* Get RFType */ | ||
| 334 | pDevice->byRFType = SROMbyReadEmbedded(pDevice->PortOffset, EEP_OFS_RFTYPE); | ||
| 335 | |||
| 336 | /* force change RevID for VT3253 emu */ | ||
| 337 | if ((pDevice->byRFType & RF_EMU) != 0) | ||
| 338 | pDevice->byRevId = 0x80; | ||
| 339 | |||
| 340 | pDevice->byRFType &= RF_MASK; | ||
| 341 | pr_debug("pDevice->byRFType = %x\n", pDevice->byRFType); | ||
| 342 | |||
| 343 | if (!pDevice->bZoneRegExist) | 333 | if (!pDevice->bZoneRegExist) |
| 344 | pDevice->byZoneType = pDevice->abyEEPROM[EEP_OFS_ZONETYPE]; | 334 | pDevice->byZoneType = pDevice->abyEEPROM[EEP_OFS_ZONETYPE]; |
| 345 | 335 | ||
| @@ -1187,12 +1177,14 @@ static int vnt_tx_packet(struct vnt_private *priv, struct sk_buff *skb) | |||
| 1187 | { | 1177 | { |
| 1188 | struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; | 1178 | struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; |
| 1189 | PSTxDesc head_td; | 1179 | PSTxDesc head_td; |
| 1190 | u32 dma_idx = TYPE_AC0DMA; | 1180 | u32 dma_idx; |
| 1191 | unsigned long flags; | 1181 | unsigned long flags; |
| 1192 | 1182 | ||
| 1193 | spin_lock_irqsave(&priv->lock, flags); | 1183 | spin_lock_irqsave(&priv->lock, flags); |
| 1194 | 1184 | ||
| 1195 | if (!ieee80211_is_data(hdr->frame_control)) | 1185 | if (ieee80211_is_data(hdr->frame_control)) |
| 1186 | dma_idx = TYPE_AC0DMA; | ||
| 1187 | else | ||
| 1196 | dma_idx = TYPE_TXDMA0; | 1188 | dma_idx = TYPE_TXDMA0; |
| 1197 | 1189 | ||
| 1198 | if (AVAIL_TD(priv, dma_idx) < 1) { | 1190 | if (AVAIL_TD(priv, dma_idx) < 1) { |
| @@ -1206,6 +1198,9 @@ static int vnt_tx_packet(struct vnt_private *priv, struct sk_buff *skb) | |||
| 1206 | 1198 | ||
| 1207 | head_td->pTDInfo->skb = skb; | 1199 | head_td->pTDInfo->skb = skb; |
| 1208 | 1200 | ||
| 1201 | if (dma_idx == TYPE_AC0DMA) | ||
| 1202 | head_td->pTDInfo->byFlags = TD_FLAGS_NETIF_SKB; | ||
| 1203 | |||
| 1209 | priv->iTDUsed[dma_idx]++; | 1204 | priv->iTDUsed[dma_idx]++; |
| 1210 | 1205 | ||
| 1211 | /* Take ownership */ | 1206 | /* Take ownership */ |
| @@ -1234,13 +1229,10 @@ static int vnt_tx_packet(struct vnt_private *priv, struct sk_buff *skb) | |||
| 1234 | 1229 | ||
| 1235 | head_td->buff_addr = cpu_to_le32(head_td->pTDInfo->skb_dma); | 1230 | head_td->buff_addr = cpu_to_le32(head_td->pTDInfo->skb_dma); |
| 1236 | 1231 | ||
| 1237 | if (dma_idx == TYPE_AC0DMA) { | 1232 | if (head_td->pTDInfo->byFlags & TD_FLAGS_NETIF_SKB) |
| 1238 | head_td->pTDInfo->byFlags = TD_FLAGS_NETIF_SKB; | ||
| 1239 | |||
| 1240 | MACvTransmitAC0(priv->PortOffset); | 1233 | MACvTransmitAC0(priv->PortOffset); |
| 1241 | } else { | 1234 | else |
| 1242 | MACvTransmit0(priv->PortOffset); | 1235 | MACvTransmit0(priv->PortOffset); |
| 1243 | } | ||
| 1244 | 1236 | ||
| 1245 | spin_unlock_irqrestore(&priv->lock, flags); | 1237 | spin_unlock_irqrestore(&priv->lock, flags); |
| 1246 | 1238 | ||
| @@ -1778,6 +1770,12 @@ vt6655_probe(struct pci_dev *pcid, const struct pci_device_id *ent) | |||
| 1778 | MACvInitialize(priv->PortOffset); | 1770 | MACvInitialize(priv->PortOffset); |
| 1779 | MACvReadEtherAddress(priv->PortOffset, priv->abyCurrentNetAddr); | 1771 | MACvReadEtherAddress(priv->PortOffset, priv->abyCurrentNetAddr); |
| 1780 | 1772 | ||
| 1773 | /* Get RFType */ | ||
| 1774 | priv->byRFType = SROMbyReadEmbedded(priv->PortOffset, EEP_OFS_RFTYPE); | ||
| 1775 | priv->byRFType &= RF_MASK; | ||
| 1776 | |||
| 1777 | dev_dbg(&pcid->dev, "RF Type = %x\n", priv->byRFType); | ||
| 1778 | |||
| 1781 | device_get_options(priv); | 1779 | device_get_options(priv); |
| 1782 | device_set_options(priv); | 1780 | device_set_options(priv); |
| 1783 | /* Mask out the options cannot be set to the chip */ | 1781 | /* Mask out the options cannot be set to the chip */ |
diff --git a/drivers/staging/vt6655/rf.c b/drivers/staging/vt6655/rf.c index 941b2adca95a..7626f635f160 100644 --- a/drivers/staging/vt6655/rf.c +++ b/drivers/staging/vt6655/rf.c | |||
| @@ -794,6 +794,7 @@ bool RFbSetPower( | |||
| 794 | break; | 794 | break; |
| 795 | case RATE_6M: | 795 | case RATE_6M: |
| 796 | case RATE_9M: | 796 | case RATE_9M: |
| 797 | case RATE_12M: | ||
| 797 | case RATE_18M: | 798 | case RATE_18M: |
| 798 | byPwr = priv->abyOFDMPwrTbl[uCH]; | 799 | byPwr = priv->abyOFDMPwrTbl[uCH]; |
| 799 | if (priv->byRFType == RF_UW2452) | 800 | if (priv->byRFType == RF_UW2452) |
diff --git a/drivers/staging/vt6656/rf.c b/drivers/staging/vt6656/rf.c index c42cde59f598..c4286ccac320 100644 --- a/drivers/staging/vt6656/rf.c +++ b/drivers/staging/vt6656/rf.c | |||
| @@ -640,6 +640,7 @@ int vnt_rf_setpower(struct vnt_private *priv, u32 rate, u32 channel) | |||
| 640 | break; | 640 | break; |
| 641 | case RATE_6M: | 641 | case RATE_6M: |
| 642 | case RATE_9M: | 642 | case RATE_9M: |
| 643 | case RATE_12M: | ||
| 643 | case RATE_18M: | 644 | case RATE_18M: |
| 644 | case RATE_24M: | 645 | case RATE_24M: |
| 645 | case RATE_36M: | 646 | case RATE_36M: |
