lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 19 Dec 2015 19:07:15 +0000
From:	Måns Rullgård <mans@...sr.com>
To:	Julian Margetson <runaway@...dw.ms>
Cc:	Andy Shevchenko <andy.shevchenko@...il.com>,
	Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
	Tejun Heo <tj@...nel.org>, linux-ide@...r.kernel.org,
	"linux-kernel\@vger.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/3] ata: sata_dwc_460ex: use "dmas" DT property to find dma channel

Julian Margetson <runaway@...dw.ms> writes:

> On 12/19/2015 1:19 PM, Måns Rullgård wrote:
>> Julian Margetson <runaway@...dw.ms> writes:
>>
>>> On 12/19/2015 1:05 PM, Måns Rullgård wrote:
>>>> Andy Shevchenko <andy.shevchenko@...il.com> writes:
>>>>
>>>>> On Sat, Dec 19, 2015 at 5:40 PM, Måns Rullgård <mans@...sr.com> wrote:
>>>>>
>>>>>> OK, I've found something.  The dma setup errors are benign, caused by
>>>>>> the driver calling dmaengine_prep_slave_sg() even for non-dma
>>>>>> operations.
>>>>> I suppose the following is a quick fix to avoid preparing descriptor
>>>>> for non-DMA operations (not tested anyhow)
>>>>>
>>>>> a/drivers/ata/sata_dwc_460ex.c
>>>>> +++ b/drivers/ata/sata_dwc_460ex.c
>>>>> @@ -1041,6 +1041,9 @@ static void sata_dwc_qc_prep_by_tag(struct
>>>>> ata_queued_cmd *qc, u8 tag)
>>>>>                   __func__, ap->port_no, get_dma_dir_descript(qc->dma_dir),
>>>>>                    qc->n_elem);
>>>>>
>>>>> +       if (!is_slave_direction(qc->dma_dir))
>>>>> +               return;
>>>>> +
>>>>>           desc = dma_dwc_xfer_setup(qc);
>>>>>           if (!desc) {
>>>>>                   dev_err(ap->dev, "%s: dma_dwc_xfer_setup returns NULL\n",
>>>> I already have a better patch sitting here.
>>>>
>>>>>> The real error is the lock recursion that's reported
>>>>>> later.  I wasn't seeing it since I was running a UP non-preempt kernel.
>>>>>> With lock debugging enabled, I get the same error.  This patch should
>>>>>> fix it.
>>>>>> -       spin_lock_irqsave(&ap->host->lock, flags);
>>>>>>           hsdevp->cmd_issued[tag] = cmd_issued;
>>>>>> -       spin_unlock_irqrestore(&ap->host->lock, flags);
>>>>>> +
>>>>> This will create a second empty line, though I don't care it is so minor.
>>>> The patch leaves one blank line before the following block comment.  I
>>>> think it looks better that way.
>>>>
>>> Still can't get the patch applied .
>> Sorry, didn't realise it conflicted with an intervening patch I had in
>> my tree.  Try this one.
>>
>
>
> =~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2015.12.19 14:44:52 =~=~=~=~=~=~=~=~=~=~=~=
>
> U-Boot 2015.a (May 16 2015 - 14:20:11)
>
> CPU:   AMCC PowerPC 460EX Rev. B at 1155 MHz (PLB=231 OPB=115 EBC=115)
>        No Security/Kasumi support
>        Bootstrap Option H - Boot ROM Location I2C (Addr 0x52)
>        Internal PCI arbiter enabled
>        32 kB I-Cache 32 kB D-Cache
> Board: Sam460ex/cr, PCIe 4x + SATA-2
> I2C:   ready
> DRAM:  2 GiB (ECC not enabled, 462 MHz, CL4)
> PCI:   Bus Dev VenId DevId Class Int
>         00  04  1095  3512  0104  00
>         00  06  126f  0501  0380  00
> PCIE1: successfully set as root-complex
>         02  00  1002  683f  0300  ff
> Net:   ppc_4xx_eth0
> FPGA:  Revision 03 (2010-10-07)
> SM502: found
> PERMD2:not found
> VGA:   1
> VESA:  OK
> [    0.000000] Using Canyonlands machine description
> [    0.000000] Initializing cgroup subsys cpu
> [    0.000000] Linux version 4.4.0-rc5-Sam460ex (root@...ian-VirtualBox) (gcc version 4.8.2 (Ubuntu 4.8.2-16ubuntu3) ) #1 PREEMPT Sat Dec 19 14:25:55 AST 2015
> [    0.000000] Zone ranges:
> [    0.000000]   DMA      [mem 0x0000000000000000-0x000000002fffffff]
> [    0.000000]   Normal   empty
> [    0.000000]   HighMem  [mem 0x0000000030000000-0x000000007fffffff]
> [    0.000000] Movable zone start for each node
> [    0.000000] Early memory node ranges
> [    0.000000]   node   0: [mem 0x0000000000000000-0x000000007fffffff]
> [    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000007fffffff]
> [    0.000000] MMU: Allocated 1088 bytes of context maps for 255 contexts
> [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 522752
> [    0.000000] Kernel command line: root=/dev/sda8 console=ttyS0,115200 console=tty1 dw_dmac_core.dyndbg dw_dmac.dyndbg

Please add ignore_log_level.

-- 
Måns Rullgård
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ