View | Details | Raw Unified | Return to bug 109681 | Differences between
and this patch

Collapse All | Expand All

(-)a/Makefile (-1 / +1 lines)
Lines 1-7 Link Here
1
VERSION = 4
1
VERSION = 4
2
PATCHLEVEL = 6
2
PATCHLEVEL = 6
3
SUBLEVEL = 0
3
SUBLEVEL = 0
4
EXTRAVERSION = -rc5
4
EXTRAVERSION = -wnext
5
NAME = Blurry Fish Butt
5
NAME = Blurry Fish Butt
6
6
7
# *DOCUMENTATION*
7
# *DOCUMENTATION*
(-)a/drivers/net/wireless/marvell/mwifiex/cfg80211.c (+2 lines)
Lines 394-399 mwifiex_cfg80211_set_power_mgmt(struct wiphy *wiphy, Link Here
394
			    "info: ignore timeout value for IEEE Power Save\n");
394
			    "info: ignore timeout value for IEEE Power Save\n");
395
395
396
	ps_mode = enabled;
396
	ps_mode = enabled;
397
mwifiex_dbg(priv->adapter, ERROR, "jpw: hacking ps_mode to false\n");
398
	ps_mode = 0;
397
399
398
	return mwifiex_drv_set_power(priv, &ps_mode);
400
	return mwifiex_drv_set_power(priv, &ps_mode);
399
}
401
}
(-)a/drivers/net/wireless/marvell/mwifiex/pcie.c (-1 / +24 lines)
Lines 428-433 static int mwifiex_pm_wakeup_card_complete(struct mwifiex_adapter *adapter) Link Here
428
 */
428
 */
429
static int mwifiex_pcie_disable_host_int(struct mwifiex_adapter *adapter)
429
static int mwifiex_pcie_disable_host_int(struct mwifiex_adapter *adapter)
430
{
430
{
431
	mwifiex_dbg(adapter, ERROR,
432
				    "disable_host_int");
431
	if (mwifiex_pcie_ok_to_access_hw(adapter)) {
433
	if (mwifiex_pcie_ok_to_access_hw(adapter)) {
432
		if (mwifiex_write_reg(adapter, PCIE_HOST_INT_MASK,
434
		if (mwifiex_write_reg(adapter, PCIE_HOST_INT_MASK,
433
				      0x00000000)) {
435
				      0x00000000)) {
Lines 436-441 static int mwifiex_pcie_disable_host_int(struct mwifiex_adapter *adapter) Link Here
436
			return -1;
438
			return -1;
437
		}
439
		}
438
	}
440
	}
441
	else
442
		mwifiex_dbg(adapter, ERROR,
443
			    "Did NOT really disable host interrupt.\n");
439
444
440
	return 0;
445
	return 0;
441
}
446
}
Lines 448-453 static int mwifiex_pcie_disable_host_int(struct mwifiex_adapter *adapter) Link Here
448
 */
453
 */
449
static int mwifiex_pcie_enable_host_int(struct mwifiex_adapter *adapter)
454
static int mwifiex_pcie_enable_host_int(struct mwifiex_adapter *adapter)
450
{
455
{
456
	mwifiex_dbg(adapter, ERROR,
457
				    "enable_host_int");
451
	if (mwifiex_pcie_ok_to_access_hw(adapter)) {
458
	if (mwifiex_pcie_ok_to_access_hw(adapter)) {
452
		/* Simply write the mask to the register */
459
		/* Simply write the mask to the register */
453
		if (mwifiex_write_reg(adapter, PCIE_HOST_INT_MASK,
460
		if (mwifiex_write_reg(adapter, PCIE_HOST_INT_MASK,
Lines 1600-1605 static int mwifiex_pcie_process_cmd_complete(struct mwifiex_adapter *adapter) Link Here
1600
1607
1601
	mwifiex_dbg(adapter, CMD,
1608
	mwifiex_dbg(adapter, CMD,
1602
		    "info: Rx CMD Response\n");
1609
		    "info: Rx CMD Response\n");
1610
	mwifiex_dbg(adapter, ERROR,
1611
		    "jpw: %s skb %p, skb->len %d, skb->data_len %d, skb->head %p, skb->data %p, skb->tail %d, skb->end %d\n",
1612
                    __func__, skb, skb->len, skb->data_len, skb->head, skb->data, skb->tail, skb->end);
1603
1613
1604
	mwifiex_unmap_pci_memory(adapter, skb, PCI_DMA_FROMDEVICE);
1614
	mwifiex_unmap_pci_memory(adapter, skb, PCI_DMA_FROMDEVICE);
1605
1615
Lines 1612-1617 static int mwifiex_pcie_process_cmd_complete(struct mwifiex_adapter *adapter) Link Here
1612
1622
1613
	pkt_len = *((__le16 *)skb->data);
1623
	pkt_len = *((__le16 *)skb->data);
1614
	rx_len = le16_to_cpu(pkt_len);
1624
	rx_len = le16_to_cpu(pkt_len);
1625
	if (rx_len == 0) {
1626
		mwifiex_dbg(adapter, ERROR,
1627
				    "0 byte cmdrsp\n");
1628
		mwifiex_map_pci_memory(adapter, skb, MWIFIEX_UPLD_SIZE,
1629
					   PCI_DMA_FROMDEVICE);
1630
		return 0;
1631
	}
1632
1615
	skb_trim(skb, rx_len);
1633
	skb_trim(skb, rx_len);
1616
	skb_pull(skb, INTF_HEADER_LEN);
1634
	skb_pull(skb, INTF_HEADER_LEN);
1617
1635
Lines 1678-1683 static int mwifiex_pcie_cmdrsp_complete(struct mwifiex_adapter *adapter, Link Here
1678
	struct pcie_service_card *card = adapter->card;
1696
	struct pcie_service_card *card = adapter->card;
1679
1697
1680
	if (skb) {
1698
	if (skb) {
1699
	mwifiex_dbg(adapter, ERROR,
1700
		    "jpw: %s skb %p, skb->len %d, skb->data_len %d, skb->head %p, skb->data %p, skb->tail %d, skb->end %d\n",
1701
                    __func__, skb, skb->len, skb->data_len, skb->head, skb->data, skb->tail, skb->end); 
1681
		card->cmdrsp_buf = skb;
1702
		card->cmdrsp_buf = skb;
1682
		skb_push(card->cmdrsp_buf, INTF_HEADER_LEN);
1703
		skb_push(card->cmdrsp_buf, INTF_HEADER_LEN);
1683
		if (mwifiex_map_pci_memory(adapter, skb, MWIFIEX_UPLD_SIZE,
1704
		if (mwifiex_map_pci_memory(adapter, skb, MWIFIEX_UPLD_SIZE,
Lines 2195-2200 static int mwifiex_process_pcie_int(struct mwifiex_adapter *adapter) Link Here
2195
	pcie_ireg = adapter->int_status;
2216
	pcie_ireg = adapter->int_status;
2196
	adapter->int_status = 0;
2217
	adapter->int_status = 0;
2197
	spin_unlock_irqrestore(&adapter->int_lock, flags);
2218
	spin_unlock_irqrestore(&adapter->int_lock, flags);
2219
	mwifiex_dbg(adapter, INTR, "popped ireg: 0x%08x\n", pcie_ireg);
2198
2220
2199
	while (pcie_ireg & HOST_INTR_MASK) {
2221
	while (pcie_ireg & HOST_INTR_MASK) {
2200
		if (pcie_ireg & HOST_INTR_DNLD_DONE) {
2222
		if (pcie_ireg & HOST_INTR_DNLD_DONE) {
Lines 2234-2240 static int mwifiex_process_pcie_int(struct mwifiex_adapter *adapter) Link Here
2234
			if (ret)
2256
			if (ret)
2235
				return ret;
2257
				return ret;
2236
		}
2258
		}
2237
2259
#if defined(JPW_EXPERIMENT_1)
2238
		if (mwifiex_pcie_ok_to_access_hw(adapter)) {
2260
		if (mwifiex_pcie_ok_to_access_hw(adapter)) {
2239
			if (mwifiex_read_reg(adapter, PCIE_HOST_INT_STATUS,
2261
			if (mwifiex_read_reg(adapter, PCIE_HOST_INT_STATUS,
2240
					     &pcie_ireg)) {
2262
					     &pcie_ireg)) {
Lines 2254-2259 static int mwifiex_process_pcie_int(struct mwifiex_adapter *adapter) Link Here
2254
			}
2276
			}
2255
2277
2256
		}
2278
		}
2279
#endif
2257
	}
2280
	}
2258
	mwifiex_dbg(adapter, INTR,
2281
	mwifiex_dbg(adapter, INTR,
2259
		    "info: cmd_sent=%d data_sent=%d\n",
2282
		    "info: cmd_sent=%d data_sent=%d\n",
(-)a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c (-2 / +2 lines)
Lines 2237-2243 int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init) Link Here
2237
		if (ret)
2237
		if (ret)
2238
			return -1;
2238
			return -1;
2239
2239
2240
		if (priv->bss_type != MWIFIEX_BSS_TYPE_UAP) {
2240
		if (0 && priv->bss_type != MWIFIEX_BSS_TYPE_UAP) {
2241
			/* Enable IEEE PS by default */
2241
			/* Enable IEEE PS by default */
2242
			priv->adapter->ps_mode = MWIFIEX_802_11_POWER_MODE_PSP;
2242
			priv->adapter->ps_mode = MWIFIEX_802_11_POWER_MODE_PSP;
2243
			ret = mwifiex_send_cmd(priv,
2243
			ret = mwifiex_send_cmd(priv,
Lines 2300-2306 int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init) Link Here
2300
	if (ret)
2300
	if (ret)
2301
		return -1;
2301
		return -1;
2302
2302
2303
	if (!disable_auto_ds &&
2303
	if (0 && !disable_auto_ds &&
2304
	    first_sta && priv->adapter->iface_type != MWIFIEX_USB &&
2304
	    first_sta && priv->adapter->iface_type != MWIFIEX_USB &&
2305
	    priv->bss_type != MWIFIEX_BSS_TYPE_UAP) {
2305
	    priv->bss_type != MWIFIEX_BSS_TYPE_UAP) {
2306
		/* Enable auto deep sleep */
2306
		/* Enable auto deep sleep */
(-)a/drivers/net/wireless/marvell/mwifiex/util.c (-1 / +4 lines)
Lines 406-413 mwifiex_process_mgmt_packet(struct mwifiex_private *priv, Link Here
406
	u16 pkt_len;
406
	u16 pkt_len;
407
	struct ieee80211_hdr *ieee_hdr;
407
	struct ieee80211_hdr *ieee_hdr;
408
408
409
	if (!skb)
409
	if (!skb) {
410
		mwifiex_dbg(priv->adapter, ERROR,
411
			    "no skb");
410
		return -1;
412
		return -1;
413
	}
411
414
412
	if (!priv->mgmt_frame_mask ||
415
	if (!priv->mgmt_frame_mask ||
413
	    priv->wdev.iftype == NL80211_IFTYPE_UNSPECIFIED) {
416
	    priv->wdev.iftype == NL80211_IFTYPE_UNSPECIFIED) {

Return to bug 109681