public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "J.A. Magall?n" <jamagallon@ono.com>,
	linux-kernel@vger.kernel.org, Jean Delvare <khali@linux-fr.org>
Subject: Re: i2c vs nVidia [Re: 2.6.21-rc2-mm1]
Date: Mon, 5 Mar 2007 16:44:44 -0800	[thread overview]
Message-ID: <20070306004444.GC12566@kroah.com> (raw)
In-Reply-To: <20070305163320.2b21ab7e.akpm@linux-foundation.org>

On Mon, Mar 05, 2007 at 04:33:20PM -0800, Andrew Morton wrote:
> On Tue, 6 Mar 2007 01:16:21 +0100
> "J.A. Magall__n" <jamagallon@ono.com> wrote:
> 
> > On Fri, 2 Mar 2007 03:00:26 -0800, Andrew Morton <akpm@linux-foundation.org> wrote:
> > 
> > > 
> > > Temporarily at
> > > 
> > >   http://userweb.kernel.org/~akpm/2.6.21-rc2-mm1/
> > > 
> > 
> > More things...
> > 
> > Yes, this is related to nVidia driver. First of all, I'm not asking for help
> > for a broken closed-source driver. I just want Linux to be fool^^^^bullet-proof ;).
> > 
> > As one can expect from a closed-source driver, recent changes in Linux broke it.
> > New nVidia drivers include some i2c sensors. The driver worked till 2.6.20-rc6-mm3.
> > Since then, I can't use them. I have tracked down the problem to i2c.
> > nVidia driver tries to create 3 i2c devices, and I get this:
> > 
> > **WARNING** I2C adapter driver [NVIDIA i2c adapter 0 at 1:00.0] forgot to specify physical device; fix it!
> >  i2c-10: attach_adapter failed (-16) for driver [w83627hf]
> > **WARNING** I2C adapter driver [NVIDIA i2c adapter 1 at 1:00.0] forgot to specify physical device; fix it!
> >  i2c-11: attach_adapter failed (-16) for driver [w83627hf]
> > **WARNING** I2C adapter driver [NVIDIA i2c adapter 2 at 1:00.0] forgot to specify physical device; fix it!
> >  i2c-12: attach_adapter failed (-16) for driver [w83627hf]
> 
> This problem has always been there - there's a patch in -mm which simply
> converts this message from pr_debug() into printk().
> 
> 
> > Two problems arise:
> > - The directories in /sys/class/i2c-adapter/ are created, but trying to ls
> >   its contents oopses:
> > 
> > last sysfs file: class/i2c-adapter/i2c-0/name
> > Modules linked in: nvidia(P) nfsd exportfs lockd nfs_acl sunrpc snd_intel8x0 snd_ens1371 gameport snd_rawmidi snd_ac97_codec w83627hf ac97_bus hwmon_vid snd_pcm hwmon snd_timer i2c_isa snd_page_alloc i2c_i801 snd i2c_dev loop intel_agp agpgart udf e1000 3c59x microcode ohci1394 ieee1394 usblp evdev
> > CPU:    3
> > EIP:    0060:[<c0194b0c>]    Tainted: P       VLI
> > EFLAGS: 00010202   (2.6.20-jam01 #1)
> > EIP is at sysfs_follow_link+0xe6/0x254
> > eax: 00020b36   ebx: f329edd8   ecx: 00000000   edx: f4ab84d8
> > esi: f0df4ee8   edi: 00000100   ebp: 00000002   esp: f4039ea4
> > ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
> > Process sensors (pid: 4991, ti=f4038000 task=f7efa540 task.ti=f4038000)
> > Stack: f7ee4338 f4039edc f0ef7000 ffffffea f4ab84d8 00000000 c0387128 00000000
> >        c02f76a0 f329edd8 00000100 bfd2b6fc c0162b12 00000000 00000000 00000000
> >        00000000 00000000 45eb5857 1f6efe56 c2235fc0 00000000 f4039f44 c011c434
> > Call Trace:
> >  [<c0162b12>] generic_readlink+0x27/0x6e
> >  [<c011c434>] timespec_trunc+0x18/0x5d
> >  [<c011ca11>] current_fs_time+0x41/0x50
> >  [<c015f43a>] sys_readlinkat+0x61/0x7a
> >  [<c015f47a>] sys_readlink+0x27/0x2b
> >  [<c01027ee>] sysenter_past_esp+0x5f/0x85
> >  [<c02f0000>] __down_interruptible+0xa2/0x10e
> >  =======================
> > Code: 24 18 b8 00 b2 39 c0 e8 6e ba 15 00 8b 44 24 18 85 c0 0f 84 42 01 00 00 b8 cc ee 37 c0 e8 dd 73 f9 ff 8b 44 24 10 31 ed 83 c5 01 <8b> 40 24 85 c0 75 f6 8b 44 24 18 89 04 24 bb 01 00 00 00 31 f6 
> > EIP: [<c0194b0c>] sysfs_follow_link+0xe6/0x254 SS:ESP 0068:f4039ea4
> > BUG: at lib/kref.c:32 kref_get()
> >  [<c01ec858>] kref_get+0x3d/0x3f
> >  [<c01ebcd6>] kobject_get+0xf/0x13
> >  [<c0194c00>] sysfs_follow_link+0x1da/0x254
> >  [<c0162b12>] generic_readlink+0x27/0x6e
> >  [<c011c434>] timespec_trunc+0x18/0x5d
> >  [<c011ca11>] current_fs_time+0x41/0x50
> >  [<c015f43a>] sys_readlinkat+0x61/0x7a
> >  [<c015f47a>] sys_readlink+0x27/0x2b
> >  [<c01027ee>] sysenter_past_esp+0x5f/0x85
> >  [<c02f0000>] __down_interruptible+0xa2/0x10e
> >  =======================
> > 
> > - As adapters do not get a driver (or what ?), each time you start X, three
> >   new folders are created in /sys/class/i2c-adapter/
> >   For some AGP black magic, the driver is loaded/registered/whatever 2 times
> >   on each X start.
> > 
> > So, after each X start, you get SIX broken dirs in /sys that hang and oops
> > every app that tries to list i2c devices (like Gnome Sensors Applet, so your
> > Gnome login hangs forever....). Just ls /sys/class/i2c-adapter/i2c-*/.
> > It also oopses when removing i2c modules.
> > 
> > No driver should be able to do that to Linux, even if I try lo load a jpeg
> > of my children renamed to .ko....
> 
> I agree.  It's a shame that it takes the nvidia driver to trigger it, but
> if a driver which was previously working now explodes so horridly it
> perhaps does indicate that we broke something in there.  Or at least, we
> became a heck of a lot less forgiving, and we chose to report driver bugs
> in a rather user-unfriendly fashion.

I think this is due to the recent changes by Jean and David that
reworked the driver model for i2c.  By doing so, they fixed all of the
in-kernel drivers.

It's a bit harder for them to fix up all external drivers as well, but
it looks like nvidia just has to do that and it should work just fine.

Although I do agree that the error checking in the i2c core probably
needs to be fixed up so that we don't end up with empty directories like
this that cause problems later.  Jean, any ideas?

thanks,

greg k-h

  reply	other threads:[~2007-03-06  0:46 UTC|newest]

Thread overview: 129+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-02 11:00 2.6.21-rc2-mm1 Andrew Morton
2007-03-02 11:04 ` 2.6.21-rc2-mm1 Andrew Morton
2007-03-02 17:30   ` 2.6.21-rc2-mm1 Randy Dunlap
2007-03-04 11:58   ` [Re: 2.6.21-rc2-mm1] #error no ROMFS backing store interface configured Maciej Rutecki
2007-03-04 12:11     ` Andrew Morton
2007-03-04 15:11       ` David Howells
2007-03-04 15:25         ` Adrian Bunk
2007-03-04 15:35           ` David Howells
2007-03-05  1:49             ` [-mm patch] fix the ROMFS_* dependencies Adrian Bunk
2007-03-05 13:36               ` David Howells
2007-03-06 23:43                 ` Adrian Bunk
2007-03-04 15:11       ` [Re: 2.6.21-rc2-mm1] #error no ROMFS backing store interface configured Maciej Rutecki
2007-03-02 11:04 ` 2.6.21-rc2-mm1 Russell King
2007-03-02 11:08   ` 2.6.21-rc2-mm1 Andrew Morton
2007-03-02 11:10     ` 2.6.21-rc2-mm1 Russell King
2007-03-02 11:15       ` 2.6.21-rc2-mm1 Andrew Morton
2007-03-03 18:03         ` 2.6.21-rc2-mm1 Russell King
2007-03-05 10:41           ` arm utrace Roland McGrath
2007-03-02 14:05 ` 2.6.21-rc2-mm1: EIP is at ext2_discard_reservation+0x1c/0x52 Alexey Dobriyan
2007-03-02 14:24 ` 2.6.21-rc2-mm1 Bryan Wu
2007-03-02 14:40 ` [-mm patch] cpu_idle: fix build break Frederik Deweerdt
2007-03-02 15:24   ` Venkatesh Pallipadi
2007-03-02 16:24     ` Frederik Deweerdt
2007-03-02 15:42 ` 2.6.21-rc2-mm1 - build error with HOTPLUG_CPU=N, CPU_IDLE=Y Valdis.Kletnieks
2007-03-02 15:56 ` 2.6.21-rc2-mm1 Michal Piotrowski
2007-03-05 10:14   ` 2.6.21-rc2-mm1 Andrew Morton
2007-03-05 10:30     ` 2.6.21-rc2-mm1 Antonino A. Daplas
2007-03-02 16:03 ` 2.6.21-rc2-mm1 - fb_ddc_read() not defined Valdis.Kletnieks
2007-03-02 16:31   ` James Simmons
2007-03-02 16:51     ` Valdis.Kletnieks
2007-03-02 16:19 ` [PATCH] longhaul pci_find_device -> pci_get_device conversion (was: Re: 2.6.21-rc2-mm1) Michal Piotrowski
     [not found]   ` <3888a5cd0703020945r4ca51f3dxe981050b817e7594@mail.gmail.com>
2007-03-02 18:10     ` Michal Piotrowski
2007-03-02 16:32 ` 2.6.21-rc2-mm1 Badari Pulavarty
2007-03-02 17:03   ` [patch -mm] x86_64: fake numa cmdline flag fix David Rientjes
2007-03-02 17:21     ` Badari Pulavarty
2007-03-02 17:10   ` 2.6.21-rc2-mm1 Andrew Morton
2007-03-02 17:15     ` 2.6.21-rc2-mm1 Badari Pulavarty
2007-03-02 21:12 ` 2.6.21-rc2-mm1: what about CONFIG_NO_HZ and !CONFIG_SMP ? Laurent Riffard
2007-03-02 20:57   ` Siddha, Suresh B
2007-03-02 22:09     ` Laurent Riffard
2007-03-02 22:52 ` 2.6.21-rc2-mm1: pata_via: wrong cable detection Laurent Riffard
2007-03-02 23:05 ` [PATCH -mm] char/epca.c remove unused function (was: Re: 2.6.21-rc2-mm1) Michal Piotrowski
2007-03-03  0:48   ` Alan Cox
2007-03-02 23:42 ` 2.6.21-rc2-mm1 Michal Piotrowski
2007-03-03  0:40   ` 2.6.21-rc2-mm1 Andrew Morton
2007-03-03  1:22     ` 2.6.21-rc2-mm1 Michal Piotrowski
2007-03-03  1:41       ` 2.6.21-rc2-mm1 Andrew Morton
2007-03-03 10:08         ` 2.6.21-rc2-mm1 Michal Piotrowski
2007-03-03 12:06           ` 2.6.21-rc2-mm1 Andrew Morton
2007-03-03  7:45 ` 2.6.21-rc2-mm1 - build error with CONFIG_NO_HZ=y and CONFIG_SMP=n Antonino A. Daplas
2007-03-03  7:59   ` Andrew Morton
2007-03-03 15:39 ` Keyboard stops working after *lock [Was: 2.6.21-rc2-mm1] Jiri Slaby
2007-03-03 15:54   ` Jiri Slaby
2007-03-03 17:41     ` Andrew Morton
2007-03-09 10:31       ` Jiri Slaby
2007-03-09 14:13         ` Dmitry Torokhov
2007-03-09 14:40           ` Jiri Kosina
2007-03-09 16:01             ` Jiri Kosina
2007-03-09 16:48               ` Jiri Slaby
2007-03-09 17:10                 ` Jiri Slaby
2007-03-11 21:39               ` Jiri Slaby
2007-03-11 21:47                 ` Jiri Kosina
2007-03-11 21:53                   ` Jiri Slaby
2007-03-11 22:11                     ` Jiri Slaby
2007-03-12  9:08                   ` Jiri Slaby
2007-03-12 15:09                     ` Alan Stern
2007-03-12 16:28                       ` Jiri Slaby
2007-03-12 19:56                         ` Alan Stern
2007-03-12 21:00                         ` Jiri Kosina
2007-03-12 22:32                           ` Jiri Slaby
2007-03-13 16:01                             ` Alan Stern
2007-03-13 16:13                               ` Jiri Slaby
2007-03-13 16:30                                 ` Alan Stern
2007-03-15 20:00                                 ` Alan Stern
2007-03-16 10:52                                   ` Jiri Slaby
2007-03-17 22:50                                   ` Jiri Slaby
2007-03-18  2:39                                     ` Alan Stern
2007-03-18  8:46                                       ` Jiri Slaby
2007-03-18 14:26                                         ` Alan Stern
2007-03-18 14:36                                           ` Jiri Slaby
2007-03-18 15:39                                             ` Alan Stern
2007-03-18 15:45                                               ` Jiri Slaby
2007-03-18 16:11                                                 ` Alan Stern
2007-03-04  9:07 ` 2.6.21-rc2-mm1 Mariusz Kozlowski
2007-03-04  9:48   ` 2.6.21-rc2-mm1 Mariusz Kozlowski
2007-03-04 11:34   ` 2.6.21-rc2-mm1 Andrew Morton
2007-03-04 12:01     ` 2.6.21-rc2-mm1 Mariusz Kozlowski
2007-03-04 17:06       ` 2.6.21-rc2-mm1 Mariusz Kozlowski
2007-03-04 17:13         ` 2.6.21-rc2-mm1 Michal Piotrowski
2007-03-04 17:20           ` 2.6.21-rc2-mm1 Michal Piotrowski
2007-03-05 16:34   ` 2.6.21-rc2-mm1 Zan Lynx
2007-03-05  0:11 ` 2.6.21-rc2-mm1 J.A. Magallón
2007-03-05  0:29   ` 2.6.21-rc2-mm1 Andrew Morton
2007-03-05  1:17   ` 2.6.21-rc2-mm1 Andrew Morton
2007-03-05  2:25     ` 2.6.21-rc2-mm1 Neil Brown
2007-03-05 15:42       ` 2.6.21-rc2-mm1 Bill Davidsen
2007-03-05  1:47 ` [-mm patch] saa7134: fix MODULES=n compilation Adrian Bunk
2007-03-05  1:47 ` 2.6.21-rc2-mm1: drivers/net/wireless/ compile error Adrian Bunk
2007-03-05 10:41   ` Michael Buesch
2007-03-05  1:47 ` 2.6.21-rc2-mm1: drivers/usb/host/ohci-ssb.c doesn't compile Adrian Bunk
2007-03-05 10:49   ` Michael Buesch
2007-03-05 10:57     ` Michael Buesch
2007-03-05 11:26       ` Michael Buesch
2007-03-05 18:26         ` Greg KH
2007-03-05 18:37           ` Adrian Bunk
2007-03-05 18:42         ` David Brownell
2007-03-05 19:09           ` Michael Buesch
2007-03-05  1:47 ` [-mm patch] arch/i386/kernel/vmi.c must #include <asm/kmap_types.h> Adrian Bunk
2007-03-05  2:57   ` Zachary Amsden
2007-03-05  1:47 ` [-mm patch] remove arch/i386/kernel/tsc.c:custom_sched_clock Adrian Bunk
2007-03-05  2:57   ` Zachary Amsden
2007-03-05  1:47 ` [-mm patch] make drivers/char/drm/drm_vm.c:drm_io_prot() static Adrian Bunk
2007-03-05  1:47 ` [-mm patch] drivers/cpuidle/: make code static Adrian Bunk
2007-03-05  1:49 ` [-mm patch] drivers/media/video/ivtv/: possible cleanups Adrian Bunk
2007-03-05  6:53   ` [v4l-dvb-maintainer] " Hans Verkuil
2007-03-05  1:49 ` [-mm patch] drivers/net/bonding/bond_main.c:make 3 functions static Adrian Bunk
2007-03-05  1:49 ` [-mm patch] make drivers/video/display/display-sysfs.c:display_class static Adrian Bunk
2007-03-05  1:49 ` [-mm patch] make fb_deferred_io_mkwrite() static Adrian Bunk
2007-03-05  1:49 ` [-mm patch] drivers/video/hecubafb.c: make 4 functions static Adrian Bunk
2007-03-05 22:20 ` 2.6.21-rc2-mm1 J.A. Magallón
2007-03-05 23:11   ` 2.6.21-rc2-mm1 Andrew Morton
2007-03-06  6:25     ` [PATCH] sched: fix idle at tick Con Kolivas
     [not found]       ` <20070305230240.9c2741d1.akpm@linux-foundation.org>
2007-03-06  7:41         ` Con Kolivas
2007-03-06  8:38           ` J.A. Magallón
2007-03-06  0:16 ` i2c vs nVidia [Re: 2.6.21-rc2-mm1] J.A. Magallón
2007-03-06  0:33   ` Andrew Morton
2007-03-06  0:44     ` Greg KH [this message]
2007-03-06  8:45       ` Jean Delvare
2007-03-06 10:56         ` Jean Delvare

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=20070306004444.GC12566@kroah.com \
    --to=greg@kroah.com \
    --cc=akpm@linux-foundation.org \
    --cc=jamagallon@ono.com \
    --cc=khali@linux-fr.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