1. 31 8月, 2012 2 次提交
  2. 22 8月, 2012 2 次提交
    • J
      drivers/dma/amba-pl08x.c: fix error return code · 983d7beb
      Julia Lawall 提交于
      Convert a 0 error return code to a negative one, as returned elsewhere in the
      function.
      
      A simplified version of the semantic match that finds this problem is as
      follows: (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @@
      identifier ret;
      expression e,e1,e2,e3,e4,x;
      @@
      
      (
      if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
      |
      ret = 0
      )
      ... when != ret = e1
      *x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
      ... when != x = e2
          when != ret = e3
      *if (x == NULL || ...)
      {
        ... when != ret = e4
      *  return ret;
      }
      // </smpl>
      Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: NVinod Koul <vinod.koul@linux.intel.com>
      983d7beb
    • J
      drivers/dma/sirf-dma.c: fix usage of devm functions · 94d3901c
      Julia Lawall 提交于
      Fix some problems with the use of devm_ functions.
      
      devm_kzalloc: devm_kfree is not needed
      
      devm_ioremap: iounmap should not be used, no free is needed
      
      devm_request_irq: the devm_free_irq is followed by irq_dispose_mapping.  I
      don't know if it is safe to move the freeing of the irq in this case, so I
      have just un-devm'd this function, since the implicit freeing is never
      taken advantage of.
      
      In the original code failure of of_address_to_resource jumped to free_mem,
      but should have jumped to irq_dispose, since irq_of_parse_and_map has
      completed at this point.
      
      In the original code unmap_mem was after irq_dispose, but it should have
      been before, again since irq_of_parse_and_map has completed at this point.
      
      One of these problems was found using the following semantic match:
      (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @@
      expression x;
      @@
      
      *x = devm_ioremap(...)
      ...
      iounmap(x);
      // </smpl>
      Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr>
      Acked-by: NBarry Song <Baohua.Song@csr.com>
      Signed-off-by: NVinod Koul <vinod.koul@linux.intel.com>
      94d3901c
  3. 01 8月, 2012 1 次提交
  4. 31 7月, 2012 5 次提交
  5. 27 7月, 2012 1 次提交
    • F
      dma: imx-dma: Fix kernel crash due to missing clock conversion · a2367db2
      Fabio Estevam 提交于
      With the new i.MX clock infrastructure we need to request the dma clocks
      seperately: ahb and ipg clocks.
      
      This fixes the following kernel crash and make audio to be functional again:
      
      root@freescale /home$ aplay audio48k16S.wav
      Playing WAVE 'audio48k16S.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
      Unable to handle kernel NULL pointer dereference at virtual address 00000000
      pgd = c7b74000
      [00000000] *pgd=a7bb5831, *pte=00000000, *ppte=00000000
      Internal error: Oops: 17 [#1] PREEMPT ARM
      Modules linked in:
      CPU: 0    Not tainted  (3.5.0-rc5-next-20120702-00007-g3028b64 #1128)
      PC is at snd_dmaengine_pcm_get_chan+0x8/0x10
      LR is at snd_imx_pcm_hw_params+0x18/0xdc
      pc : [<c02d3cf8>]    lr : [<c02e95ec>]    psr: a0000013
      sp : c7b45e30  ip : ffffffff  fp : c7ae58e0
      r10: 00000000  r9 : c7ae981c  r8 : c7b88800
      r7 : c7ae5a60  r6 : c7ae5b20  r5 : c7ae9810  r4 : c7afa060
      r3 : 00000000  r2 : 00000001  r1 : c7b88800  r0 : c7afa060
      Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      Control: 0005317f  Table: a7b74000  DAC: 00000015
      Process aplay (pid: 701, stack limit = 0xc7b44270)
      Stack: (0xc7b45e30 to 0xc7b46000)
      5e20:                                     00100000 00000029 c7b88800 c02db870
      5e40: c7ae5a60 c02d4594 00000010 01ae5a60 c7ae5a60 c7ae9810 c7ae9810 c7afa060
      5e60: c7ae5b20 c7ae5a60 c7b88800 c02e3ef0 c02e3e08 c7b1e400 c7afa060 c7b88800
      5e80: 00000000 c0014da8 c7b44000 00000000 bec566ac c02cd400 c7afa060 c7afa060
      5ea0: bec56800 c7b88800 c0014da8 c02cdd7c c04ee710 c04ee7b8 00000003 c005fc74
      5ec0: 00000000 7fffffff c7b45f00 c7afa060 c7b67420 c7ba3070 00000004 c0014da8
      5ee0: c7b44000 00000000 bec566ac c02ced88 c04e95f8 b6f5ab04 c7b45fb0 0145a468
      5f00: 0145a600 bec566bc bec56800 c7b67420 c7ba3070 c00d499c c7b45f18 c7b45f18
      5f20: 0000001a 00000004 00000001 c7b44000 c0527f40 00000009 00000008 00000000
      5f40: c7b44000 c002c9ec 00000001 c04f0ab0 c04ebec0 00000101 00000000 0000000a
      5f60: 60000093 c7b67420 bec56800 c25c4111 00000004 c0014da8 c7b44000 00000000
      5f80: bec566ac c00d4f38 b6ffb658 00000000 c0522d80 0145a468 b6fd5000 0145a418
      5fa0: 00000036 c0014c00 0145a468 b6fd5000 00000004 c25c4111 bec56800 00020001
      5fc0: 0145a468 b6fd5000 0145a418 00000036 0145a468 0145a600 bec566bc bec566ac
      5fe0: 0145a468 bec56388 b6f65ce4 b6dcebec 20000010 00000004 00000000 00000000
      [<c02d3cf8>] (snd_dmaengine_pcm_get_chan+0x8/0x10) from [<c02e95ec>] (snd_imx_pcm_hw_params+0x18/0xdc)
      [<c02e95ec>] (snd_imx_pcm_hw_params+0x18/0xdc) from [<c02e3ef0>] (soc_pcm_hw_params+0xe8/0x1f0)
      [<c02e3ef0>] (soc_pcm_hw_params+0xe8/0x1f0) from [<c02cd400>] (snd_pcm_hw_params+0x124/0x474)
      [<c02cd400>] (snd_pcm_hw_params+0x124/0x474) from [<c02cdd7c>] (snd_pcm_common_ioctl1+0x4b4/0xf74)
      [<c02cdd7c>] (snd_pcm_common_ioctl1+0x4b4/0xf74) from [<c02ced88>] (snd_pcm_playback_ioctl1+0x30/0x510)
      [<c02ced88>] (snd_pcm_playback_ioctl1+0x30/0x510) from [<c00d499c>] (do_vfs_ioctl+0x80/0x5e4)
      [<c00d499c>] (do_vfs_ioctl+0x80/0x5e4) from [<c00d4f38>] (sys_ioctl+0x38/0x60)
      [<c00d4f38>] (sys_ioctl+0x38/0x60) from [<c0014c00>] (ret_fast_syscall+0x0/0x2c)
      Code: e593000c e12fff1e e59030a0 e59330bc (e5930000)
      ---[ end trace fa518c8ba3a74e97 ]--
      Reported-by: NJavier Martin <javier.martin@vista-silicon.com>
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Acked-by: NSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: NVinod Koul <vinod.koul@linux.intel.com>
      Cc: stable@vger.kernel.org
      a2367db2
  6. 26 7月, 2012 1 次提交
  7. 20 7月, 2012 5 次提交
  8. 16 7月, 2012 4 次提交
  9. 13 7月, 2012 5 次提交
  10. 01 7月, 2012 14 次提交