> -----Original Message----- > From: Brian Norris [mailto:briannorris@xxxxxxxxxxxx] > > > > > + for (i = 0; i < allocated; i++) { > > > > + skb = rx_ring->buf[i]; > > > > + if (!skb) > > > > + continue; > > > > + dma = *((dma_addr_t *)skb->cb); > > > > + pci_unmap_single(pdev, dma, buf_sz, > PCI_DMA_FROMDEVICE); > > > > + dev_kfree_skb_any(skb); > > > > + rx_ring->buf[i] = NULL; > > > > + } > > > > + pci_free_consistent(pdev, ring_sz, head, dma); > > > > + > > > > + rtw_err(rtwdev, "failed to init rx buffer\n"); > > > > + > > > > + return ret; > > > > +} > > > > + > > ... > > > After some testing, this function I think can be removed. > > (rtw_pci_parse_configuration) > > Why was it here in the first place? Were there any hardware quirks > that this was covering? Or, are you just saying that the default > values are already correct (plus, the PCI framework already brings you > out of D3)? I do also see that removing this function doesn't actually > have a net effect on the the PCI configuration, judging by lspci > -vvvxxxx. This was written for developing 8822BE. And it was not tested at that moment so I was not sure if it can be removed. Now many test item has been tested, it seems that the configuration parsing code is no more needed. And I see that pci_set_master() will enter D0. So it can be removed. Thanks. Yan-Hsuan