From: "Bruno Prémont" <bonbons@linux-vserver.org>
To: Jonathan Corbet <corbet@lwn.net>
Cc: linux-kernel@vger.kernel.org, Harald Welte <laforge@gnumonks.org>,
linux-fbdev@vger.kernel.org, JosephChan@via.com.tw,
ScottFang@viatech.com.cn,
Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Subject: Re: [RFC] Second OLPC Viafb series, v2
Date: Thu, 29 Apr 2010 17:26:13 +0000 [thread overview]
Message-ID: <20100429192613.5385c501@neptune.home> (raw)
In-Reply-To: <1272493051-25380-1-git-send-email-corbet@lwn.net>
On Wed, 28 April 2010 Jonathan Corbet <corbet@lwn.net> wrote:
> This is the second posting of the second series of viafb patches. What's
> added here is a big refactoring of the driver to split its functions apart
> and the addition of code for GPIO, interrupt, DMA, and camera management.
>
> The following changes have been made since the first version:
>
> - A couple of small fixes have been made to the first series. The
> OLPC-specific tests for i2c access have been removed since they broke
> the linux-next build, and we don't try to do i2c on ports which have not
> traditionally been used that way. For that reason, I'm including that
> initial series here; the whole set applies to 2.6.34-rc3.
>
> - The build problems encountered by Florian (GPIOLIB and module stuff)
> have been fixed. I have *not* made fb/i2c/gpio into separate modules at
> this point, though that is the clear destination of this work. That's a
> bit messy and I didn't want to complicate these patches further; I will
> do it in the future.
>
> - I merged in all of Florian's cleanup patches from a couple of weeks
> ago. I've not looked at the new suspend/resume patches yet.
>
> Note that the camera driver (the last in the series) is not yet ready for
> submission; I add it here for completeness.
>
> The full series of patches can be pulled from:
>
> git://git.lwn.net/linux-2.6.git viafb-posted
>
> Some of this stuff is disruptive, and I only have one machine to test it
> all on, so I'd really appreciate it if folks with other types of hardware
> could try them out.
Testing here, loading path seems to work fine (console mode) as well as
mode switching with fbset, but rmmod viafb fails with below trace. Going
to have a look what can be the cause, looks like it's when unregistering
GPIOs.
Bruno
[ 1727.041074] ------------[ cut here ]------------
[ 1727.041232] WARNING: at /usr/src/linux-2.6-git/kernel/softirq.c:143 local_bh_enable+0x58/0x80()
[ 1727.041391] Hardware name: CX700+W697HG
[ 1727.041495] Modules linked in: e_powersaver via_cputemp snd_hda_codec_via snd_hda_intel irtty_sir hid_picolcd snd_hda_codec sir_dev backlight lcd snd_pcm irda led_class snd_timer fb_sys_
fops sysimgblt via_agp snd crc_ccitt sysfillrect syscopyarea soundcore snd_page_alloc viafb(-) i2c_algo_bit cfbcopyarea cfbimgblt cfbfillrect sg agpgart
[ 1727.043509] Pid: 1553, comm: rmmod Not tainted 2.6.34-rc5-viafb-venus #42
[ 1727.043632] Call Trace:
[ 1727.043752] [<c13371c1>] ? printk+0x18/0x1f
[ 1727.043871] [<c102a378>] ? local_bh_enable+0x58/0x80
[ 1727.044003] [<c1025b3c>] warn_slowpath_common+0x6c/0xc0
[ 1727.044127] [<c102a378>] ? local_bh_enable+0x58/0x80
[ 1727.044252] [<c1025ba5>] warn_slowpath_null+0x15/0x20
[ 1727.044375] [<c102a378>] local_bh_enable+0x58/0x80
[ 1727.044499] [<c12aabcb>] sk_filter+0x3b/0x80
[ 1727.044621] [<c12b012e>] netlink_broadcast+0x14e/0x330
[ 1727.044752] [<c1175be7>] kobject_uevent_env+0x2c7/0x380
[ 1727.044878] [<c1175caa>] kobject_uevent+0xa/0x10
[ 1727.045137] [<c11ee6b4>] device_del+0x124/0x190
[ 1727.045265] [<c11ee72b>] device_unregister+0xb/0x20
[ 1727.045390] [<c1181813>] gpiochip_remove+0xc3/0xe0
[ 1727.045511] [<c1180b10>] ? match_export+0x0/0x20
[ 1727.045677] [<f80dd67a>] viafb_gpio_remove+0x3a/0xa0 [viafb]
[ 1727.045811] [<c11f1dec>] platform_drv_remove+0xc/0x10
[ 1727.045933] [<c11f0bf1>] __device_release_driver+0x51/0xa0
[ 1727.046056] [<c11f0cb7>] driver_detach+0x77/0x80
[ 1727.046179] [<c11efee9>] bus_remove_driver+0x69/0xb0
[ 1727.046303] [<c11f11a1>] driver_unregister+0x41/0x70
[ 1727.046430] [<c11f217b>] platform_driver_unregister+0xb/0x10
[ 1727.046584] [<f80dd63d>] viafb_gpio_exit+0xd/0x10 [viafb]
[ 1727.046737] [<f80dda71>] via_core_exit+0x8/0x27 [viafb]
[ 1727.046870] [<c104ba6d>] sys_delete_module+0x18d/0x1f0
[ 1727.046994] [<c1072545>] ? do_munmap+0x225/0x290
[ 1727.047120] [<c1002b10>] sysenter_do_call+0x12/0x26
[ 1727.047237] ---[ end trace 94c40d57ecfccbc4 ]---
[ 1727.047988] ------------[ cut here ]------------
[ 1727.048105] kernel BUG at /usr/src/linux-2.6-git/mm/slub.c:2846!
[ 1727.048223] invalid opcode: 0000 [#1]
[ 1727.048381] last sysfs file: /sys/devices/platform/via_cputemp.0/temp1_input
[ 1727.048501] Modules linked in: e_powersaver via_cputemp snd_hda_codec_via snd_hda_intel irtty_sir hid_picolcd snd_hda_codec sir_dev backlight lcd snd_pcm irda led_class snd_timer fb_sys_fops sysimgblt via_agp snd crc_ccitt sysfillrect syscopyarea soundcore snd_page_alloc viafb(-) i2c_algo_bit cfbcopyarea cfbimgblt cfbfillrect sg agpgart
[ 1727.050031]
[ 1727.050031] Pid: 1553, comm: rmmod Tainted: G W 2.6.34-rc5-viafb-venus #42 CX700+W697HG/CX700+W697HG
[ 1727.050031] EIP: 0060:[<c107fadc>] EFLAGS: 00010246 CPU: 0
[ 1727.050031] EIP is at kfree+0x12c/0x130
[ 1727.050031] EAX: 80000000 EBX: c1c91c60 ECX: 00000000 EDX: c11f2530
[ 1727.050031] ESI: f80e3d60 EDI: f61ee110 EBP: f6387e40 ESP: f6387e2c
[ 1727.050031] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
[ 1727.050031] Process rmmod (pid: 1553, tiö387000 task÷320000 task.tiö387000)
[ 1727.050031] Stack:
[ 1727.050031] f622b780 f6387e50 f6015b00 c14a73cc f61ee110 f6387e4c c11f2541 f6060840
[ 1727.050031] <0> f6387e68 c11edef9 c10c5f7b f70d3f30 f70c0c68 f70c0c68 f6015b10 f6387e7c
[ 1727.050031] <0> c117501a f6015b2c c1174fe0 f80e3150 f6387e8c c1175d8c f6015b10 f80e3150
[ 1727.050031] Call Trace:
[ 1727.050031] [<c11f2541>] ? platform_device_release+0x11/0x30
[ 1727.050031] [<c11edef9>] ? device_release+0x19/0x70
[ 1727.050031] [<c10c5f7b>] ? remove_dir+0x2b/0x40
[ 1727.050031] [<c117501a>] ? kobject_release+0x3a/0x80
[ 1727.050031] [<c1174fe0>] ? kobject_release+0x0/0x80
[ 1727.050031] [<c1175d8c>] ? kref_put+0x2c/0x60
[ 1727.050031] [<c1174f40>] ? kobject_put+0x20/0x50
[ 1727.050031] [<c11ee6e0>] ? device_del+0x150/0x190
[ 1727.050031] [<c11ed9af>] ? put_device+0xf/0x20
[ 1727.050031] [<c11f256f>] ? platform_device_put+0xf/0x20
[ 1727.050031] [<c11f2742>] ? platform_device_unregister+0x12/0x20
[ 1727.050031] [<f80ddaf8>] ? via_pci_remove+0x14/0x5c [viafb]
[ 1727.050031] [<c1187e09>] ? pci_device_remove+0x19/0x40
[ 1727.050031] [<c11f0bf1>] ? __device_release_driver+0x51/0xa0
[ 1727.050031] [<c11f0cb7>] ? driver_detach+0x77/0x80
[ 1727.050031] [<c11efee9>] ? bus_remove_driver+0x69/0xb0
[ 1727.050031] [<c11f11a1>] ? driver_unregister+0x41/0x70
[ 1727.050031] [<c10c522d>] ? sysfs_remove_file+0xd/0x10
[ 1727.050031] [<c118802d>] ? pci_unregister_driver+0x2d/0x70
[ 1727.050031] [<f80dda85>] ? via_core_exit+0x1c/0x27 [viafb]
[ 1727.050031] [<c104ba6d>] ? sys_delete_module+0x18d/0x1f0
[ 1727.050031] [<c1072545>] ? do_munmap+0x225/0x290
[ 1727.050031] [<c1002b10>] ? sysenter_do_call+0x12/0x26
[ 1727.050031] Code: 51 08 85 d2 0f 88 42 ff ff ff 8b 57 10 8b 01 89 04 16 89 31 e9 54 ff ff ff 66 a9 00 c0 74 0c 89 d8 e8 29 31 fe ff e9 46 ff ff ff <0f> 0b eb fe 55 83 e8 60 89 e5 e8 c5 fe ff ff 5d c3 8d 76 00 55
[ 1727.050031] EIP: [<c107fadc>] kfree+0x12c/0x130 SS:ESP 0068:f6387e2c
[ 1727.060774] ---[ end trace 94c40d57ecfccbc5 ]---
next prev parent reply other threads:[~2010-04-29 17:26 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-28 22:17 [RFC] Second OLPC Viafb series, v2 Jonathan Corbet
2010-04-28 22:17 ` [PATCH 01/30] viafb: Fix various resource leaks during module_init() Jonathan Corbet
2010-04-28 22:17 ` [PATCH 02/30] viafb: use proper pci config API Jonathan Corbet
2010-05-01 14:01 ` Florian Tobias Schandinat
2010-05-04 2:37 ` Jonathan Corbet
2010-04-28 22:17 ` [PATCH 03/30] viafb: Unmap the frame buffer on initialization error Jonathan Corbet
2010-04-28 22:17 ` [PATCH 04/30] viafb: Retain GEMODE reserved bits Jonathan Corbet
2010-04-28 22:17 ` [PATCH 05/30] viafb: Unify duplicated set_bpp() code Jonathan Corbet
2010-04-28 22:17 ` [PATCH 06/30] viafb: Determine type of 2D engine and store it in chip_info Jonathan Corbet
2010-04-28 22:17 ` [PATCH 07/30] viafb: complete support for VX800/VX855 accelerated framebuffer Jonathan Corbet
2010-04-28 22:17 ` [PATCH 08/30] viafb: Add 1200x900 DCON/LCD panel modes for OLPC XO-1.5 Jonathan Corbet
2010-04-28 22:17 ` [PATCH 09/30] viafb: rework the I2C support in the VIA framebuffer driver Jonathan Corbet
2010-04-28 22:17 ` [PATCH 10/30] suppress verbose debug messages: change printk() to DEBUG_MSG() Jonathan Corbet
2010-04-28 22:17 ` [PATCH 11/30] viafb: Only establish i2c busses on ports that always had them Jonathan Corbet
2010-04-28 22:17 ` [PATCH 12/30] viafb: Move core stuff into via-core.c Jonathan Corbet
2010-05-01 15:02 ` Florian Tobias Schandinat
2010-05-01 15:08 ` Jonathan Corbet
2010-05-01 15:29 ` Florian Tobias Schandinat
2010-04-28 22:17 ` [PATCH 13/30] viafb: Separate global and fb-specific data Jonathan Corbet
2010-04-29 18:19 ` Bruno Prémont
2010-04-30 16:21 ` Jonathan Corbet
2010-04-30 18:07 ` Florian Tobias Schandinat
2010-04-30 18:22 ` Jonathan Corbet
2010-04-30 18:43 ` Florian Tobias Schandinat
2010-04-30 20:01 ` Bruno Prémont
2010-04-28 22:17 ` [PATCH 14/30] viafb: add a driver for GPIO lines Jonathan Corbet
2010-04-28 22:17 ` [PATCH 15/30] viafb: package often used basic io functions Jonathan Corbet
2010-04-28 22:17 ` [PATCH 16/30] viafb: Convert GPIO and i2c to the new indexed port ops Jonathan Corbet
2010-04-28 22:17 ` [PATCH 17/30] viafb: Turn GPIO and i2c into proper platform devices Jonathan Corbet
2010-04-28 22:17 ` [PATCH 18/30] via: Do not attempt I/O on inactive I2C adapters Jonathan Corbet
2010-04-28 22:17 ` [PATCH 19/30] viafb: Introduce viafb_find_i2c_adapter() Jonathan Corbet
2010-04-28 22:17 ` [PATCH 20/30] via: Rationalize vt1636 detection Jonathan Corbet
2010-04-28 22:17 ` [PATCH 21/30] viafb: Add a simple interrupt management infrastructure Jonathan Corbet
2010-04-28 22:17 ` [PATCH 22/30] viafb: Add a simple VX855 DMA engine driver Jonathan Corbet
2010-04-28 22:17 ` [PATCH 23/30] viafb: Reserve framebuffer memory for the upcoming camera driver Jonathan Corbet
2010-04-28 22:17 ` [PATCH 24/30] viafb: Add a driver for the video capture engine Jonathan Corbet
2010-04-29 17:16 ` Bruno Prémont
2010-04-29 19:06 ` Jonathan Corbet
2010-05-02 1:18 ` Florian Tobias Schandinat
2010-05-02 1:52 ` Jonathan Corbet
2010-04-28 22:17 ` [PATCH 25/30] viafb: unify modesetting functions Jonathan Corbet
2010-04-28 22:17 ` [PATCH 26/30] viafb: move some modesetting functions to a seperate file Jonathan Corbet
2010-04-28 22:17 ` [PATCH 27/30] viafb: replace inb/outb Jonathan Corbet
2010-04-28 22:17 ` [PATCH 28/30] viafb: improve misc register handling Jonathan Corbet
2010-04-28 22:17 ` [PATCH 29/30] viafb: fix proc entry removal Jonathan Corbet
2010-04-28 22:17 ` [PATCH 30/30] viafb: make procfs entries optional Jonathan Corbet
2010-04-29 17:26 ` Bruno Prémont [this message]
2010-04-30 15:39 ` [RFC] Second OLPC Viafb series, v2 Jonathan Corbet
2010-05-01 21:28 ` Florian Tobias Schandinat
2010-05-01 22:57 ` Jonathan Corbet
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=20100429192613.5385c501@neptune.home \
--to=bonbons@linux-vserver.org \
--cc=FlorianSchandinat@gmx.de \
--cc=JosephChan@via.com.tw \
--cc=ScottFang@viatech.com.cn \
--cc=corbet@lwn.net \
--cc=laforge@gnumonks.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@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;
as well as URLs for NNTP newsgroup(s).