diff options
Diffstat (limited to 'drivers/net/wireless/rtlwifi/pci.c')
| -rw-r--r-- | drivers/net/wireless/rtlwifi/pci.c | 17 | 
1 files changed, 5 insertions, 12 deletions
diff --git a/drivers/net/wireless/rtlwifi/pci.c b/drivers/net/wireless/rtlwifi/pci.c index dae55257f0e8..67d1ee6edcad 100644 --- a/drivers/net/wireless/rtlwifi/pci.c +++ b/drivers/net/wireless/rtlwifi/pci.c @@ -1092,16 +1092,14 @@ static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw,  	u32 nextdescaddress;  	int i; -	ring = pci_alloc_consistent(rtlpci->pdev, -				    sizeof(*ring) * entries, &dma); - +	ring = pci_zalloc_consistent(rtlpci->pdev, sizeof(*ring) * entries, +				     &dma);  	if (!ring || (unsigned long)ring & 0xFF) {  		RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,  			 "Cannot allocate TX ring (prio = %d)\n", prio);  		return -ENOMEM;  	} -	memset(ring, 0, sizeof(*ring) * entries);  	rtlpci->tx_ring[prio].desc = ring;  	rtlpci->tx_ring[prio].dma = dma;  	rtlpci->tx_ring[prio].idx = 0; @@ -1139,10 +1137,9 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw)  	for (rx_queue_idx = 0; rx_queue_idx < RTL_PCI_MAX_RX_QUEUE;  	     rx_queue_idx++) {  		rtlpci->rx_ring[rx_queue_idx].desc = -		    pci_alloc_consistent(rtlpci->pdev, -					 sizeof(*rtlpci->rx_ring[rx_queue_idx]. -						desc) * rtlpci->rxringcount, -					 &rtlpci->rx_ring[rx_queue_idx].dma); +			pci_zalloc_consistent(rtlpci->pdev, +					      sizeof(*rtlpci->rx_ring[rx_queue_idx].desc) * rtlpci->rxringcount, +					      &rtlpci->rx_ring[rx_queue_idx].dma);  		if (!rtlpci->rx_ring[rx_queue_idx].desc ||  		    (unsigned long)rtlpci->rx_ring[rx_queue_idx].desc & 0xFF) { @@ -1151,10 +1148,6 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw)  			return -ENOMEM;  		} -		memset(rtlpci->rx_ring[rx_queue_idx].desc, 0, -		       sizeof(*rtlpci->rx_ring[rx_queue_idx].desc) * -		       rtlpci->rxringcount); -  		rtlpci->rx_ring[rx_queue_idx].idx = 0;  		/* If amsdu_8k is disabled, set buffersize to 4096. This  |