Message ID | 20180901114535.9070-2-hauke@hauke-m.de |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
Series | Add support for Lantiq / Intel vrx200 network | expand |
On Sat, Sep 01, 2018 at 01:45:29PM +0200, Hauke Mehrtens wrote: > dma_zalloc_coherent() now crashes if no dev pointer is given. > Add a dev pointer to the ltq_dma_channel structure and fill it in the > driver using it. > > This fixes a bug introduced in kernel 4.19. Hi Hauke Should this be added to stable so that it appears in 4.19-rcX? If so, please send it to net, not net-next. Andrew
On 09/01/2018 04:57 PM, Andrew Lunn wrote: > On Sat, Sep 01, 2018 at 01:45:29PM +0200, Hauke Mehrtens wrote: >> dma_zalloc_coherent() now crashes if no dev pointer is given. >> Add a dev pointer to the ltq_dma_channel structure and fill it in the >> driver using it. >> >> This fixes a bug introduced in kernel 4.19. > > Hi Hauke > > Should this be added to stable so that it appears in 4.19-rcX? If so, > please send it to net, not net-next. Hi Andrew, Thanks for the review. Yes this should go into 4.19-rcX. The "lantiq: Add Lantiq / Intel VRX200 Ethernet driver" patch has a compile dependency on this patch. Should I send "MIPS: lantiq: dma: add dev pointer" separately or just mark it as 4.19-rcX in this series? Hauke
> Hi Andrew, > > Thanks for the review. > > Yes this should go into 4.19-rcX. > The "lantiq: Add Lantiq / Intel VRX200 Ethernet driver" patch has a > compile dependency on this patch. Should I send "MIPS: lantiq: dma: add > dev pointer" separately or just mark it as 4.19-rcX in this series? Hi Hauke Please send it separately. DaveM will merge net in net-next every so often, at which point your patches which depend on it can be include. Andrew
diff --git a/arch/mips/include/asm/mach-lantiq/xway/xway_dma.h b/arch/mips/include/asm/mach-lantiq/xway/xway_dma.h index 4901833498f7..8441b2698e64 100644 --- a/arch/mips/include/asm/mach-lantiq/xway/xway_dma.h +++ b/arch/mips/include/asm/mach-lantiq/xway/xway_dma.h @@ -40,6 +40,7 @@ struct ltq_dma_channel { int desc; /* the current descriptor */ struct ltq_dma_desc *desc_base; /* the descriptor base */ int phys; /* physical addr */ + struct device *dev; }; enum { diff --git a/arch/mips/lantiq/xway/dma.c b/arch/mips/lantiq/xway/dma.c index 4b9fbb6744ad..664f2f7f55c1 100644 --- a/arch/mips/lantiq/xway/dma.c +++ b/arch/mips/lantiq/xway/dma.c @@ -130,7 +130,7 @@ ltq_dma_alloc(struct ltq_dma_channel *ch) unsigned long flags; ch->desc = 0; - ch->desc_base = dma_zalloc_coherent(NULL, + ch->desc_base = dma_zalloc_coherent(ch->dev, LTQ_DESC_NUM * LTQ_DESC_SIZE, &ch->phys, GFP_ATOMIC); @@ -182,7 +182,7 @@ ltq_dma_free(struct ltq_dma_channel *ch) if (!ch->desc_base) return; ltq_dma_close(ch); - dma_free_coherent(NULL, LTQ_DESC_NUM * LTQ_DESC_SIZE, + dma_free_coherent(ch->dev, LTQ_DESC_NUM * LTQ_DESC_SIZE, ch->desc_base, ch->phys); } EXPORT_SYMBOL_GPL(ltq_dma_free); diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c index 7a637b51c7d2..e08301d833e2 100644 --- a/drivers/net/ethernet/lantiq_etop.c +++ b/drivers/net/ethernet/lantiq_etop.c @@ -274,6 +274,7 @@ ltq_etop_hw_init(struct net_device *dev) struct ltq_etop_chan *ch = &priv->ch[i]; ch->idx = ch->dma.nr = i; + ch->dma.dev = &priv->pdev->dev; if (IS_TX(i)) { ltq_dma_alloc_tx(&ch->dma);
dma_zalloc_coherent() now crashes if no dev pointer is given. Add a dev pointer to the ltq_dma_channel structure and fill it in the driver using it. This fixes a bug introduced in kernel 4.19. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> --- arch/mips/include/asm/mach-lantiq/xway/xway_dma.h | 1 + arch/mips/lantiq/xway/dma.c | 4 ++-- drivers/net/ethernet/lantiq_etop.c | 1 + 3 files changed, 4 insertions(+), 2 deletions(-)