Re: [RFC][WAS:bcmai][PATCH V2] axi: add AXI bus driver

From: RafaÅ MiÅecki
Date: Mon Apr 11 2011 - 13:24:16 EST


2011/4/11 Arend van Spriel <arend@xxxxxxxxxxxx>:
> On Fri, 08 Apr 2011 21:45:00 +0200, RafaÅ MiÅecki <zajec5@xxxxxxxxx> wrote:
>
>> Cc: Michael BÃsch <mb@xxxxxxxxx>
>> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
>> Cc: George Kashperko <george@xxxxxxxxxxx>
>> Cc: Arend van Spriel <arend@xxxxxxxxxxxx>
>> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
>> <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>
>> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
>> Cc: Arnd Bergmann <arnd@xxxxxxxx>
>> Cc: linuxdriverproject <devel@xxxxxxxxxxxxxxxxxxxxxx>
>> Cc: linux-kernel@xxxxxxxxxxxxxxx <linux-kernel@xxxxxxxxxxxxxxx>
>> Signed-off-by: RafaÅ MiÅecki <zajec5@xxxxxxxxx>
>> ---
>> This is second try for introducing new bus driver.
>> V2: Rename to axi
>> Â ÂUse DEFINE_PCI_DEVICE_TABLE in bridge
>> Â ÂMake use of pr_fmt and pr_*
>> Â ÂStore core class
>> Â ÂRename bridge to not b43 specific
>> Â ÂReplace magic 0x1000 with BCMAI_CORE_SIZE
>> Â ÂRemove some old "ssb" names and defines
>> Â ÂMove BCMAI_ADDR_BASE def
>> Â ÂAdd drvdata field
>> TODO:
>> - Interrupts
>> - Reloading driver
>> ---
>> Âdrivers/Kconfig              |  Â2 +
>> Âdrivers/Makefile             Â|  Â1 +
>> Âinclude/linux/mod_devicetable.h      |  17 ++
>> Âscripts/mod/file2alias.c         Â|  21 ++
>
> Hi RafaÅ,
>
> I tried to apply this patch, but it failed as well. I did the 4 files
> above manually and applied partial patch for the new files.
>
> When I load the module it seems to have succeeded once, but every insmod
> attempt I do now fails with following trace:
>
> Apr 11 16:43:43 arend-laptop kernel: [ Â 61.249239] axi-pci-bridge
> 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
> Apr 11 16:43:43 arend-laptop kernel: [ Â 61.249312] Core 0 found:
> ChipCommon (manuf 0x4BF, id 0x800, rev 0x22, class 0x0)
> Apr 11 16:43:43 arend-laptop kernel: [ Â 61.249339] Core 1 found: IEEE
> 802.11 (manuf 0x4BF, id 0x812, rev 0x17, class 0x0)
> Apr 11 16:43:43 arend-laptop kernel: [ Â 61.249400] Core 2 found: PCIe
> (manuf 0x4BF, id 0x820, rev 0x0F, class 0x0)
> Apr 11 16:43:43 arend-laptop kernel: [ Â 61.279913] Modules linked in:
> axi(+) binfmt_misc nouveau ttm drm_kms_helper drm i2c_algo_bit
> snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_intel snd_hda_codec
> snd_seq_midi snd_hwdep ppdev snd_rawmidi snd_pcm snd_seq_midi_event
> parport_pc snd_seq snd_timer snd_seq_device lp pcmcia snd uvcvideo
> soundcore snd_page_alloc dell_laptop videodev dell_wmi dcdbas
> sparse_keymap intel_ips yenta_socket video pcmcia_rsrc pcmcia_core parport
> intel_agp intel_gtt agpgart psmouse btusb bluetooth joydev serio_raw
> usbhid hid mmc_block ahci sdhci_pci firewire_ohci sdhci e1000e
> firewire_core mmc_core libahci crc_itu_t
> Apr 11 16:43:43 arend-laptop kernel: [ Â 61.280052]
> Apr 11 16:43:43 arend-laptop kernel: [ Â 61.280366] Pid: 2008, comm:
> insmod Not tainted 2.6.39-rc1-staging-next-09270-gb905e26 #1 Dell Inc.
> Latitude E6410/07XJP9
> Apr 11 16:43:43 arend-laptop kernel: [ Â 61.281090] EIP: 0060:[<c0213d3d>]
> EFLAGS: 00010246 CPU: 1
> Apr 11 16:43:43 arend-laptop kernel: [ Â 61.281812] EIP is at
> kfree+0x10d/0x120

Thank you Arend for testing.

What you see is some issue with kfree I do not understand. Please take
a look at:
"Crash with kfree(null) on MacBook? kobject_set_name_vargs"
https://lkml.org/lkml/2011/4/10/71

When I call dev_set_name result with new name for device, internal
implementation performs "kfree" on *old name*. Of course there was not
old name, so kfree is being called on * char pointing to NULL. On my
device it does not crash, but on yours and on Andy's it does.

We got suggestion to enable SLUB/SLAB debugging. Andy didn't try it
yet. Could you spend a moment trying to debug this?

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