From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754391AbbIIUZW (ORCPT ); Wed, 9 Sep 2015 16:25:22 -0400 Received: from violet.fr.zoreil.com ([92.243.8.30]:37975 "EHLO violet.fr.zoreil.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752676AbbIIUZU (ORCPT ); Wed, 9 Sep 2015 16:25:20 -0400 Date: Wed, 9 Sep 2015 22:23:34 +0200 From: Francois Romieu To: Corinna Vinschen Cc: netdev@vger.kernel.org, David Miller , pomidorabelisima@gmail.com, Konrad Rzeszutek Wilk , linux-kernel@vger.kernel.org, nic_swsd@realtek.com Subject: Re: [PATCH net] r8169: Fix sleeping function called during get_stats64 Message-ID: <20150909202334.GA18625@electric-eye.fr.zoreil.com> References: <1441801223-27534-1-git-send-email-vinschen@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1441801223-27534-1-git-send-email-vinschen@redhat.com> X-Organisation: Land of Sunshine Inc. User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Corinna Vinschen : [...] > diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c > index 24dcbe6..630811a 100644 > --- a/drivers/net/ethernet/realtek/r8169.c > +++ b/drivers/net/ethernet/realtek/r8169.c [...] > + if (!paddr) > + return false; I guess this is the secret recipe. What about replacing this part with an adequate barrier in rtl_init_one ? [...] > @@ -8447,9 +8411,14 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) > > tp->rtl_fw = RTL_FIRMWARE_UNKNOWN; > > + tp->CntArray = dma_alloc_coherent (&pdev->dev, sizeof(*tp->CntArray), > + &tp->CntPhysAddr, GFP_KERNEL); > + if (!tp->CntArray) > + goto err_out_cnt_4; > + rc is still zero here so rtl_init_one will return success. > rc = register_netdev(dev); > if (rc < 0) > - goto err_out_msi_4; > + goto err_out_msi_5; > > pci_set_drvdata(pdev, dev); -- Ueimor