From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Joshua Hoblitt <josh@hoblitt.com>
Cc: Kim H?jgaard-Hansen <kimhh@control.aau.dk>,
erich@areca.com.tw, linux-scsi@vger.kernel.org, dsd@gentoo.org,
j_gentoo@hoblitt.com
Subject: Re: arcmsr + archttp64 calls dma_free_coherent() with irqs disabled - dmesg filled with warnings
Date: Fri, 15 Feb 2008 16:04:07 -0600 [thread overview]
Message-ID: <1203113047.3058.50.camel@localhost.localdomain> (raw)
In-Reply-To: <1203112643.3058.48.camel@localhost.localdomain>
On Fri, 2008-02-15 at 15:57 -0600, James Bottomley wrote:
> On Fri, 2008-02-15 at 10:56 -1000, Joshua Hoblitt wrote:
> > Hi James,
> >
> > Daniel took the time to patch up the 2.6.24 version. I've tested it and
> > the warning messages are gone. Please take a look at:
> >
>
> > diff --git a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c
> > index f4a202e..4f9ff32 100644
> > --- a/drivers/scsi/arcmsr/arcmsr_hba.c
> > +++ b/drivers/scsi/arcmsr/arcmsr_hba.c
> > @@ -1380,12 +1388,13 @@ static int arcmsr_iop_message_xfer(struct AdapterControlBlock *acb, \
> >
> > case ARCMSR_MESSAGE_READ_RQBUFFER: {
> > unsigned long *ver_addr;
> > - dma_addr_t buf_handle;
> > uint8_t *pQbuffer, *ptmpQbuffer;
> > int32_t allxfer_len = 0;
> > + void *tmp;
> >
> > - ver_addr = pci_alloc_consistent(acb->pdev, 1032, &buf_handle);
> > - if (!ver_addr) {
> > + tmp = kmalloc(1032, GFP_KERNEL|GFP_DMA);
>
> GFP_DMA is pretty pointless for a buffer which never actually gets anywhere near a DMA, isn't it?
>
> > + ver_addr = (unsigned long *)tmp;
>
> No cast needed from void *
>
> > + if (!tmp) {
> > retvalue = ARCMSR_MESSAGE_FAIL;
> > goto message_out;
> > }
> > @@ -1421,18 +1430,19 @@ static int arcmsr_iop_message_xfer(struct AdapterControlBlock *acb, \
> > memcpy(pcmdmessagefld->messagedatabuffer, (uint8_t *)ver_addr, allxfer_len);
> > pcmdmessagefld->cmdmessage.Length = allxfer_len;
> > pcmdmessagefld->cmdmessage.ReturnCode = ARCMSR_MESSAGE_RETURNCODE_OK;
> > - pci_free_consistent(acb->pdev, 1032, ver_addr, buf_handle);
> > + kfree(tmp);
> > }
> > break;
> >
> > case ARCMSR_MESSAGE_WRITE_WQBUFFER: {
> > unsigned long *ver_addr;
> > - dma_addr_t buf_handle;
> > int32_t my_empty_len, user_len, wqbuf_firstindex, wqbuf_lastindex;
> > uint8_t *pQbuffer, *ptmpuserbuffer;
> > + void *tmp;
> >
> > - ver_addr = pci_alloc_consistent(acb->pdev, 1032, &buf_handle);
> > - if (!ver_addr) {
> > + tmp = kmalloc(1032, GFP_KERNEL|GFP_DMA);
Actually, also all the code around here implies we're in atomic context,
so that GFP_KERNEL can't be right either.
James
next prev parent reply other threads:[~2008-02-15 22:04 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-09 15:31 arcmsr + archttp64 calls dma_free_coherent() with irqs disabled - dmesg filled with warnings Kim Højgaard-Hansen
2008-02-09 18:01 ` James Bottomley
2008-02-09 19:35 ` Joshua Hoblitt
2008-02-09 19:43 ` James Bottomley
2008-02-12 20:53 ` Joshua Hoblitt
2008-02-12 22:21 ` Joshua Hoblitt
2008-02-12 22:30 ` James Bottomley
2008-02-13 2:08 ` arcmsr + archttp64 calls dma_free_coherent() with irqsdisabled " nickcheng
2008-02-15 20:56 ` arcmsr + archttp64 calls dma_free_coherent() with irqs disabled " Joshua Hoblitt
2008-02-15 21:57 ` James Bottomley
2008-02-15 22:04 ` James Bottomley [this message]
2008-02-16 11:49 ` Daniel Drake
2008-02-16 14:52 ` James Bottomley
2008-02-16 23:36 ` Daniel Drake
2008-02-16 23:37 ` Daniel Drake
2008-02-17 1:15 ` Joshua Hoblitt
2008-02-19 20:38 ` Joshua Hoblitt
2008-02-13 12:55 ` Daniel Drake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1203113047.3058.50.camel@localhost.localdomain \
--to=james.bottomley@hansenpartnership.com \
--cc=dsd@gentoo.org \
--cc=erich@areca.com.tw \
--cc=j_gentoo@hoblitt.com \
--cc=josh@hoblitt.com \
--cc=kimhh@control.aau.dk \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox