Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1221717

Re: [PATCH net] r8169: Fix sleeping function called during get_stats64

From Corinna Vinschen <vinschen@redhat.com>
Newsgroups linux.kernel
Subject Re: [PATCH net] r8169: Fix sleeping function called during get_stats64
Date 2015-09-09 23:20 +0200
Message-ID <q6UWC-6st-5@gated-at.bofh.it> (permalink)
References <q6MFI-2Ym-5@gated-at.bofh.it> <q6Uae-5ii-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

On Sep  9 22:23, Francois Romieu wrote:
> Corinna Vinschen <vinschen@redhat.com> :
> [...]
> > 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.

Actually, no.  I started out stress testing this combined with a printk
to show if paddr can be NULL, but this never occurs.  ndo_get_stats64 is
apparently only called after registering the device, and this occurs
after calling dma_alloc_coherent in rtl_init_one.

Rather than removing the entire test, I acidentally only removed the
printk.  Sorry about that.

> [...]
> > @@ -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.

Thanks for catching!  I'm sending a fixed patch in a minute, removing
the paddr test and setting rc to -ENOMEM if dma_alloc_coherent fails.


Corinna

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH net] r8169: Fix sleeping function called during get_stats64 Corinna Vinschen <vinschen@redhat.com> - 2015-09-09 14:30 +0200
  Re: [PATCH net] r8169: Fix sleeping function called during  get_stats64 Francois Romieu <romieu@fr.zoreil.com> - 2015-09-09 22:30 +0200
    Re: [PATCH net] r8169: Fix sleeping function called during  get_stats64 Corinna Vinschen <vinschen@redhat.com> - 2015-09-09 23:20 +0200

csiph-web