From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anton Vorontsov Subject: Re: [PATCH] ASoC: fsl_dma: Pass the proper device for dma mapping routines Date: Sun, 5 Apr 2009 12:52:43 +0400 Message-ID: <20090405085243.GA16005@oksana.dev.rtsoft.ru> References: <20090404183319.GA22203@oksana.dev.rtsoft.ru> Reply-To: avorontsov@ru.mvista.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf8" Content-Transfer-Encoding: base64 Return-path: Received: from buildserver.ru.mvista.com (unknown [213.79.90.228]) by alsa0.perex.cz (Postfix) with ESMTP id 87C622433E for ; Sun, 5 Apr 2009 10:52:48 +0200 (CEST) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@alsa-project.org Errors-To: alsa-devel-bounces@alsa-project.org To: Grant Likely Cc: Becky Bruce , alsa-devel@alsa-project.org, Mark Brown , Kumar Gala , linuxppc-dev@ozlabs.org, Timur Tabi , Liam Girdwood List-Id: alsa-devel@alsa-project.org T24gU2F0LCBBcHIgMDQsIDIwMDkgYXQgMTE6NTk6MzlQTSAtMDYwMCwgR3JhbnQgTGlrZWx5IHdy b3RlOgo+IEJlY2t5ICYgS3VtYXIsCj4gCj4gQ29uc2lkZXJpbmcgdGhlc2UgZml4dXBzLCB3b3Vs ZCBpdCBiZSBhZHZpc2FibGUgZm9yIHRoZSBkbWEgZnVuY3Rpb25zCj4gdG8gY2xpbWIgdXAgdGhl IGRldi0+cGFyZW50IGxpbmthZ2Ugd2hlbiBkbWFfb3BzIGFyZSBOVUxMPwoKcGNtLT5kZXYtPnBh cmVudCBkb2Vzbid0IHBvaW50IHRvIHRoZSBwcm9wZXIgZGV2aWNlLCBzbwp0aGlzIHdvbid0IHdv cmsuCgo+IE9uIFNhdCwgQXByIDQsIDIwMDkgYXQgMTI6MzMgUE0sIEFudG9uIFZvcm9udHNvdgo+ IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+IHdyb3RlOgo+ID4gVGhlIGRyaXZlciBzaG91bGQg cGFzcyBhIGRldmljZSB0aGF0IHNwZWNpZmllcyBpbnRlcm5hbCBETUEgb3BzLCBidXQKPiA+IHN1 YnN0cmVhbS0+cGNtIGlzIGp1c3QgYSBsb2dpY2FsIGRldmljZSwgYW5kIHRodXMgZG9lc24ndCBo YXZlIGFyY2gtCj4gPiBzcGVjaWZpYyBkbWEgY2FsbGJhY2tzLCB0aGVyZWZvcmUgZm9sbG93aW5n IGJ1ZyBhcHBlYXJzOgo+ID4KPiA+IMKgRnJlZXNjYWxlIFN5bmNocm9ub3VzIFNlcmlhbCBJbnRl cmZhY2UgKFNTSSkgQVNvQyBEcml2ZXIKPiA+IMKgLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0t LS0tLS0tLS0tCj4gPiDCoGtlcm5lbCBCVUcgYXQgYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL2Rt YS1tYXBwaW5nLmg6MjM3IQo+ID4gwqBPb3BzOiBFeGNlcHRpb24gaW4ga2VybmVsIG1vZGUsIHNp ZzogNSBbIzFdCj4gPiDCoC4uLgo+ID4gwqBOSVAgW2MwMjI1OWM0XSBzbmRfbWFsbG9jX2Rldl9w YWdlcysweDU4LzB4YWMKPiA+IMKgTFIgW2MwMjI1Yzc0XSBzbmRfZG1hX2FsbG9jX3BhZ2VzKzB4 ZjgvMHgxMDgKPiA+IMKgQ2FsbCBUcmFjZToKPiA+IMKgW2RmMDJiZGUwXSBbZGYwMmJlMmNdIDB4 ZGYwMmJlMmMgKHVucmVsaWFibGUpCj4gPiDCoFtkZjAyYmRmMF0gW2MwMjI1Yzc0XSBzbmRfZG1h X2FsbG9jX3BhZ2VzKzB4ZjgvMHgxMDgKPiA+IMKgW2RmMDJiZTEwXSBbYzAyM2ExMDBdIGZzbF9k bWFfbmV3KzB4NjgvMHgxMjQKPiA+IMKgW2RmMDJiZTIwXSBbYzAyMzQyYWNdIHNvY19uZXdfcGNt KzB4MWJjLzB4MjM0Cj4gPiDCoFtkZjAyYmVhMF0gW2MwMjM0M2RjXSBzbmRfc29jX25ld19wY21z KzB4YjgvMHgxNDgKPiA+IMKgW2RmMDJiZWQwXSBbYzAyMzgyNGNdIGNzNDI3MF9wcm9iZSsweDM0 LzB4MTI0Cj4gPiDCoFtkZjAyYmVmMF0gW2MwMjMyZmU4XSBzbmRfc29jX2luc3RhbnRpYXRlX2Nh cmQrMHgxYTQvMHgyZjQKPiA+IMKgW2RmMDJiZjIwXSBbYzAyMzMxNjRdIHNuZF9zb2NfaW5zdGFu dGlhdGVfY2FyZHMrMHgyYy8weDY4Cj4gPiDCoFtkZjAyYmYzMF0gW2MwMjM0NzA0XSBzbmRfc29j X3JlZ2lzdGVyX3BsYXRmb3JtKzB4NjAvMHg4MAo+ID4gwqBbZGYwMmJmNTBdIFtjMDNkNTY2NF0g ZnNsX3NvY19wbGF0Zm9ybV9pbml0KzB4MTgvMHgyOAo+ID4gwqAuLi4KPiA+Cj4gPiBUaGlzIHBh dGNoIGZpeGVzIHRoZSBpc3N1ZSBieSB1c2luZyBjYXJkJ3MgZGV2aWNlIGluc3RlYWQuCj4gPgo+ ID4gU2lnbmVkLW9mZi1ieTogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5j b20+Cj4gPiAtLS0KPiA+IMKgc291bmQvc29jL2ZzbC9mc2xfZG1hLmMgfCDCoCAxMiArKysrKyst LS0tLS0KPiA+IMKgMSBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25z KC0pCj4gPgo+ID4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9mc2wvZnNsX2RtYS5jIGIvc291bmQv c29jL2ZzbC9mc2xfZG1hLmMKPiA+IGluZGV4IGIzZWI4NTcuLjgzNWU0M2MgMTAwNjQ0Cj4gPiAt LS0gYS9zb3VuZC9zb2MvZnNsL2ZzbF9kbWEuYwo+ID4gKysrIGIvc291bmQvc29jL2ZzbC9mc2xf ZG1hLmMKPiA+IEBAIC0zMDAsNyArMzAwLDcgQEAgc3RhdGljIGludCBmc2xfZG1hX25ldyhzdHJ1 Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAo+ID4gwqAgwqAgwqAg wqBpZiAoIWNhcmQtPmRldi0+Y29oZXJlbnRfZG1hX21hc2spCj4gPiDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoGNhcmQtPmRldi0+Y29oZXJlbnRfZG1hX21hc2sgPSBmc2xfZG1hX2RtYW1hc2s7Cj4g Pgo+ID4gLSDCoCDCoCDCoCByZXQgPSBzbmRfZG1hX2FsbG9jX3BhZ2VzKFNORFJWX0RNQV9UWVBF X0RFViwgcGNtLT5kZXYsCj4gPiArIMKgIMKgIMKgIHJldCA9IHNuZF9kbWFfYWxsb2NfcGFnZXMo U05EUlZfRE1BX1RZUEVfREVWLCBjYXJkLT5kZXYsCj4gPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oGZzbF9kbWFfaGFyZHdhcmUuYnVmZmVyX2J5dGVzX21heCwKPiA+IMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgJnBjbS0+c3RyZWFtc1swXS5zdWJzdHJlYW0tPmRtYV9idWZmZXIpOwo+ID4gwqAgwqAg wqAgwqBpZiAocmV0KSB7Cj4gPiBAQCAtMzEwLDcgKzMxMCw3IEBAIHN0YXRpYyBpbnQgZnNsX2Rt YV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKPiA+ IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgcmV0dXJuIC1FTk9NRU07Cj4gPiDCoCDCoCDCoCDCoH0K PiA+Cj4gPiAtIMKgIMKgIMKgIHJldCA9IHNuZF9kbWFfYWxsb2NfcGFnZXMoU05EUlZfRE1BX1RZ UEVfREVWLCBwY20tPmRldiwKPiA+ICsgwqAgwqAgwqAgcmV0ID0gc25kX2RtYV9hbGxvY19wYWdl cyhTTkRSVl9ETUFfVFlQRV9ERVYsIGNhcmQtPmRldiwKPiA+IMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgZnNsX2RtYV9oYXJkd2FyZS5idWZmZXJfYnl0ZXNfbWF4LAo+ID4gwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAmcGNtLT5zdHJlYW1zWzFdLnN1YnN0cmVhbS0+ZG1hX2J1ZmZlcik7Cj4gPiDCoCDC oCDCoCDCoGlmIChyZXQpIHsKPiA+IEBAIC00MTgsNyArNDE4LDcgQEAgc3RhdGljIGludCBmc2xf ZG1hX29wZW4oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCj4gPiDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoHJldHVybiAtRUJVU1k7Cj4gPiDCoCDCoCDCoCDCoH0KPiA+Cj4gPiAt IMKgIMKgIMKgIGRtYV9wcml2YXRlID0gZG1hX2FsbG9jX2NvaGVyZW50KHN1YnN0cmVhbS0+cGNt LT5kZXYsCj4gPiArIMKgIMKgIMKgIGRtYV9wcml2YXRlID0gZG1hX2FsbG9jX2NvaGVyZW50KHN1 YnN0cmVhbS0+cGNtLT5jYXJkLT5kZXYsCj4gPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHNpemVv ZihzdHJ1Y3QgZnNsX2RtYV9wcml2YXRlKSwgJmxkX2J1Zl9waHlzLCBHRlBfS0VSTkVMKTsKPiA+ IMKgIMKgIMKgIMKgaWYgKCFkbWFfcHJpdmF0ZSkgewo+ID4gwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqBkZXZfZXJyKHN1YnN0cmVhbS0+cGNtLT5jYXJkLT5kZXYsCj4gPiBAQCAtNDQ1LDcgKzQ0NSw3 IEBAIHN0YXRpYyBpbnQgZnNsX2RtYV9vcGVuKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vi c3RyZWFtKQo+ID4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBkZXZfZXJyKHN1YnN0cmVhbS0+cGNt LT5jYXJkLT5kZXYsCj4gPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCJjYW4n dCByZWdpc3RlciBJU1IgZm9yIElSUSAldSAocmV0PSVpKVxuIiwKPiA+IMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgZG1hX3ByaXZhdGUtPmlycSwgcmV0KTsKPiA+IC0gwqAgwqAg wqAgwqAgwqAgwqAgwqAgZG1hX2ZyZWVfY29oZXJlbnQoc3Vic3RyZWFtLT5wY20tPmRldiwKPiA+ ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZG1hX2ZyZWVfY29oZXJlbnQoc3Vic3RyZWFtLT5wY20t PmNhcmQtPmRldiwKPiA+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgc2l6ZW9m KHN0cnVjdCBmc2xfZG1hX3ByaXZhdGUpLAo+ID4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBkbWFfcHJpdmF0ZSwgZG1hX3ByaXZhdGUtPmxkX2J1Zl9waHlzKTsKPiA+IMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgcmV0dXJuIHJldDsKPiA+IEBAIC03NjEsMTMgKzc2MSwxMyBAQCBz dGF0aWMgaW50IGZzbF9kbWFfY2xvc2Uoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJl YW0pCj4gPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGZyZWVfaXJxKGRtYV9w cml2YXRlLT5pcnEsIGRtYV9wcml2YXRlKTsKPiA+Cj4gPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oGlmIChkbWFfcHJpdmF0ZS0+bGRfYnVmX3BoeXMpIHsKPiA+IC0gwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgZG1hX3VubWFwX3NpbmdsZShzdWJzdHJlYW0tPnBjbS0+ZGV2LAo+ID4g KyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBkbWFfdW5tYXBfc2luZ2xlKHN1YnN0 cmVhbS0+cGNtLT5jYXJkLT5kZXYsCj4gPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoGRtYV9wcml2YXRlLT5sZF9idWZfcGh5cywKPiA+IMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgc2l6ZW9mKGRtYV9wcml2YXRlLT5s aW5rKSwgRE1BX1RPX0RFVklDRSk7Cj4gPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoH0KPiA+Cj4g PiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoC8qIERlYWxsb2NhdGUgdGhlIGZzbF9kbWFfcHJpdmF0 ZSBzdHJ1Y3R1cmUgKi8KPiA+IC0gwqAgwqAgwqAgwqAgwqAgwqAgwqAgZG1hX2ZyZWVfY29oZXJl bnQoc3Vic3RyZWFtLT5wY20tPmRldiwKPiA+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZG1hX2Zy ZWVfY29oZXJlbnQoc3Vic3RyZWFtLT5wY20tPmNhcmQtPmRldiwKPiA+IMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgc2l6ZW9mKHN0cnVjdCBmc2xfZG1hX3ByaXZhdGUpLAo+ID4g wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBkbWFfcHJpdmF0ZSwgZG1hX3ByaXZh dGUtPmxkX2J1Zl9waHlzKTsKPiA+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgc3Vic3RyZWFtLT5y dW50aW1lLT5wcml2YXRlX2RhdGEgPSBOVUxMOwo+ID4gLS0KPiA+IDEuNS42LjUKPiA+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBMaW51eHBwYy1k ZXYgbWFpbGluZyBsaXN0Cj4gPiBMaW51eHBwYy1kZXZAb3psYWJzLm9yZwo+ID4gaHR0cHM6Ly9v emxhYnMub3JnL21haWxtYW4vbGlzdGluZm8vbGludXhwcGMtZGV2Cj4gPgo+IAo+IAo+IAo+IC0t IAo+IEdyYW50IExpa2VseSwgQi5TYy4sIFAuRW5nLgo+IFNlY3JldCBMYWIgVGVjaG5vbG9naWVz IEx0ZC4KCi0tIApBbnRvbiBWb3JvbnRzb3YKZW1haWw6IGNib3VhdG1haWxydUBnbWFpbC5jb20K aXJjOi8vaXJjLmZyZWVub2RlLm5ldC9iZDIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KQWxzYS1kZXZlbCBtYWlsaW5nIGxpc3QKQWxzYS1kZXZlbEBhbHNh LXByb2plY3Qub3JnCmh0dHA6Ly9tYWlsbWFuLmFsc2EtcHJvamVjdC5vcmcvbWFpbG1hbi9saXN0 aW5mby9hbHNhLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from buildserver.ru.mvista.com (unknown [213.79.90.228]) by ozlabs.org (Postfix) with ESMTP id DFDCCDDDF6 for ; Sun, 5 Apr 2009 18:52:45 +1000 (EST) Date: Sun, 5 Apr 2009 12:52:43 +0400 From: Anton Vorontsov To: Grant Likely Subject: Re: [PATCH] ASoC: fsl_dma: Pass the proper device for dma mapping routines Message-ID: <20090405085243.GA16005@oksana.dev.rtsoft.ru> References: <20090404183319.GA22203@oksana.dev.rtsoft.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 In-Reply-To: Cc: Becky Bruce , alsa-devel@alsa-project.org, Mark Brown , linuxppc-dev@ozlabs.org, Timur Tabi , Liam Girdwood Reply-To: avorontsov@ru.mvista.com List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Sat, Apr 04, 2009 at 11:59:39PM -0600, Grant Likely wrote: > Becky & Kumar, > > Considering these fixups, would it be advisable for the dma functions > to climb up the dev->parent linkage when dma_ops are NULL? pcm->dev->parent doesn't point to the proper device, so this won't work. > On Sat, Apr 4, 2009 at 12:33 PM, Anton Vorontsov > wrote: > > The driver should pass a device that specifies internal DMA ops, but > > substream->pcm is just a logical device, and thus doesn't have arch- > > specific dma callbacks, therefore following bug appears: > > > >  Freescale Synchronous Serial Interface (SSI) ASoC Driver > >  ------------[ cut here ]------------ > >  kernel BUG at arch/powerpc/include/asm/dma-mapping.h:237! > >  Oops: Exception in kernel mode, sig: 5 [#1] > >  ... > >  NIP [c02259c4] snd_malloc_dev_pages+0x58/0xac > >  LR [c0225c74] snd_dma_alloc_pages+0xf8/0x108 > >  Call Trace: > >  [df02bde0] [df02be2c] 0xdf02be2c (unreliable) > >  [df02bdf0] [c0225c74] snd_dma_alloc_pages+0xf8/0x108 > >  [df02be10] [c023a100] fsl_dma_new+0x68/0x124 > >  [df02be20] [c02342ac] soc_new_pcm+0x1bc/0x234 > >  [df02bea0] [c02343dc] snd_soc_new_pcms+0xb8/0x148 > >  [df02bed0] [c023824c] cs4270_probe+0x34/0x124 > >  [df02bef0] [c0232fe8] snd_soc_instantiate_card+0x1a4/0x2f4 > >  [df02bf20] [c0233164] snd_soc_instantiate_cards+0x2c/0x68 > >  [df02bf30] [c0234704] snd_soc_register_platform+0x60/0x80 > >  [df02bf50] [c03d5664] fsl_soc_platform_init+0x18/0x28 > >  ... > > > > This patch fixes the issue by using card's device instead. > > > > Signed-off-by: Anton Vorontsov > > --- > >  sound/soc/fsl/fsl_dma.c |   12 ++++++------ > >  1 files changed, 6 insertions(+), 6 deletions(-) > > > > diff --git a/sound/soc/fsl/fsl_dma.c b/sound/soc/fsl/fsl_dma.c > > index b3eb857..835e43c 100644 > > --- a/sound/soc/fsl/fsl_dma.c > > +++ b/sound/soc/fsl/fsl_dma.c > > @@ -300,7 +300,7 @@ static int fsl_dma_new(struct snd_card *card, struct snd_soc_dai *dai, > >        if (!card->dev->coherent_dma_mask) > >                card->dev->coherent_dma_mask = fsl_dma_dmamask; > > > > -       ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, pcm->dev, > > +       ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, card->dev, > >                fsl_dma_hardware.buffer_bytes_max, > >                &pcm->streams[0].substream->dma_buffer); > >        if (ret) { > > @@ -310,7 +310,7 @@ static int fsl_dma_new(struct snd_card *card, struct snd_soc_dai *dai, > >                return -ENOMEM; > >        } > > > > -       ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, pcm->dev, > > +       ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, card->dev, > >                fsl_dma_hardware.buffer_bytes_max, > >                &pcm->streams[1].substream->dma_buffer); > >        if (ret) { > > @@ -418,7 +418,7 @@ static int fsl_dma_open(struct snd_pcm_substream *substream) > >                return -EBUSY; > >        } > > > > -       dma_private = dma_alloc_coherent(substream->pcm->dev, > > +       dma_private = dma_alloc_coherent(substream->pcm->card->dev, > >                sizeof(struct fsl_dma_private), &ld_buf_phys, GFP_KERNEL); > >        if (!dma_private) { > >                dev_err(substream->pcm->card->dev, > > @@ -445,7 +445,7 @@ static int fsl_dma_open(struct snd_pcm_substream *substream) > >                dev_err(substream->pcm->card->dev, > >                        "can't register ISR for IRQ %u (ret=%i)\n", > >                        dma_private->irq, ret); > > -               dma_free_coherent(substream->pcm->dev, > > +               dma_free_coherent(substream->pcm->card->dev, > >                        sizeof(struct fsl_dma_private), > >                        dma_private, dma_private->ld_buf_phys); > >                return ret; > > @@ -761,13 +761,13 @@ static int fsl_dma_close(struct snd_pcm_substream *substream) > >                        free_irq(dma_private->irq, dma_private); > > > >                if (dma_private->ld_buf_phys) { > > -                       dma_unmap_single(substream->pcm->dev, > > +                       dma_unmap_single(substream->pcm->card->dev, > >                                dma_private->ld_buf_phys, > >                                sizeof(dma_private->link), DMA_TO_DEVICE); > >                } > > > >                /* Deallocate the fsl_dma_private structure */ > > -               dma_free_coherent(substream->pcm->dev, > > +               dma_free_coherent(substream->pcm->card->dev, > >                        sizeof(struct fsl_dma_private), > >                        dma_private, dma_private->ld_buf_phys); > >                substream->runtime->private_data = NULL; > > -- > > 1.5.6.5 > > _______________________________________________ > > Linuxppc-dev mailing list > > Linuxppc-dev@ozlabs.org > > https://ozlabs.org/mailman/listinfo/linuxppc-dev > > > > > > -- > Grant Likely, B.Sc., P.Eng. > Secret Lab Technologies Ltd. -- Anton Vorontsov email: cbouatmailru@gmail.com irc://irc.freenode.net/bd2