linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Jim Radford <radford@blackbean.org>
Cc: Mark Lord <lkml@rtr.ca>,
	linux-usb-devel@lists.sourceforge.net,
	Oliver Neukum <oneukum@suse.de>, Adrian Bunk <bunk@stusta.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] usb-serial regression fix
Date: Mon, 12 Mar 2007 17:18:19 -0700	[thread overview]
Message-ID: <20070313001819.GA6147@kroah.com> (raw)
In-Reply-To: <20070312225922.GA4064@blackbean.org>

On Mon, Mar 12, 2007 at 03:59:22PM -0700, Jim Radford wrote:
> On Mon, Mar 12, 2007 at 03:42:35PM -0700, Jim Radford wrote:
> > On Mon, Mar 12, 2007 at 01:33:31PM -0700, Greg KH wrote:
> > > On Mon, Mar 12, 2007 at 04:22:22PM -0400, Mark Lord wrote:
> > > > Oliver Neukum wrote:
> > > > >>Mark Lord wrote:
> > > > >>>Okay, from that part (above), the problem is obvious:
> > > > >>>in that the "MCT U232 converter now disconnected" appears,
> > > > >>>and then we continue to try and call the driver's method.. Oops!
> > 
> > > > >IMHO shutdown() is using serial->port[] and bombs.
> > > > >Could you reverse the order here?
> > 
> > > > Yup.  Fixed.  Tested.  Works.
> > 
> > > > This patch fixes the Oops that otherwise occurs whenever
> > > > a USB serial adapter is unplugged from a system, as well
> > > > the Oops seen when one is in use before resume (to RAM).
> > 
> > > Argh, no, this change was done to help the ftdi drivers out.
> > 
> > > Look at changeset d9a7ecacac5f8274d2afce09aadcf37bdb42b93a in Linus's
> > > tree from Jim Radford:
> > > 	http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9a7ecacac5f8274d2afce09aadcf37bdb42b93a
> > > 
> > > It makes this change because the usb-serial drivers need the port
> > > devices when the port_remove() callbacks happen.  Otherwise you get an
> > > oops that way.
> > 
> > > Jim, can you take a look at this and see if you can figure something
> > > out?
> > 
> > The problem is really the
> > 
> >    serial->port[i] = NULL;
> > 
> > line after device_unregister() which is used to flag "fake" devices
> > that don't need legacy cleanup later in the destrol_serial.  That
> > flagging should be done using a *real* flag, and not by overloading
> > the ->port[i] pointer since we require it to be non-NULL in
> > ->shutdown() in all drivers that are not converted to new
> > ->port_probe()/->port_remove() framework (currently all except ftdi).
> 
> > I'll work on a patch to do that, but for now, I think you should apply
> > Mark's patch to revert the order change since the FTDI driver no
> > longer requires the correct ordering of device_unregister() and
> > ->shutdown().
> 
> Do not NULL serial->port[i] since it is used in ->shutdown().  This
> wasn't an issue until the order or ->shutdown() and device_unregister
> was corrected.
> 
> Signed-Off: Jim Radford <radford@blackbean.org>
> 
> diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
> index 8511352..871c9a8 100644
> --- a/drivers/usb/serial/usb-serial.c
> +++ b/drivers/usb/serial/usb-serial.c
> @@ -145,7 +145,6 @@ static void destroy_serial(struct kref *kref)
>         for (i = 0; i < serial->num_ports; ++i)
>                 if (serial->port[i]->dev.parent != NULL) {
>                         device_unregister(&serial->port[i]->dev);
> -                       serial->port[i] = NULL;
>                 }

But shouldn't you null it out somewhere?  It will be an "empty" pointer
at some point in time...

Mark, does this solve your oops (after you revert your previous patch)?

thanks,

greg k-h

  reply	other threads:[~2007-03-13  0:20 UTC|newest]

Thread overview: 187+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-28  5:16 Linux 2.6.21-rc2 Linus Torvalds
2007-02-28  5:50 ` Gabriel C
2007-02-28  7:13 ` [PATCH] affinity is not defined in non-smp kernels - i386 Fernando Luis Vázquez Cao
2007-02-28  7:16   ` [PATCH] affinity is not defined in non-smp kernels - i386 (v2) Fernando Luis Vázquez Cao
2007-02-28  7:24   ` [PATCH] affinity is not defined in non-smp kernels - i386 Eric W. Biederman
2007-02-28 17:31     ` Bill Davidsen
2007-02-28 18:21       ` Eric W. Biederman
2007-02-28 18:30       ` Linus Torvalds
2007-02-28  7:42   ` [PATCH] affinity is not defined in non-smp kernels - i386 (v2) Fernando Luis Vázquez Cao
2007-02-28  7:17 ` [PATCH] affinity is not defined in non-smp kernels - x86_64 Fernando Luis Vázquez Cao
2007-02-28  7:23 ` Linux 2.6.21-rc2 David Brown
2007-02-28  7:39 ` Brice Goglin
2007-02-28 13:09   ` Eric W. Biederman
2007-02-28 16:44     ` David Brown
2007-02-28 17:07       ` Randy Dunlap
2007-02-28  7:41 ` [PATCH] affinity is not defined in non-smp kernels - x86_64 Fernando Luis Vázquez Cao
2007-02-28  7:59 ` Linux 2.6.21-rc2 Damien Wyart
2007-03-05  1:50 ` [1/6] 2.6.21-rc2: known regressions Adrian Bunk
2007-03-05  2:26   ` Andrew Morton
2007-03-05  3:35   ` Greg KH
2007-03-06  0:55     ` Johannes Berg
2007-03-05  4:01   ` Mark Lord
2007-03-05  4:34     ` Greg KH
2007-03-05 12:42       ` Marcel Holtmann
2007-03-05  4:34   ` [BUG} usb regression in 2.6.21-rc2-git3 Mark Lord
2007-03-05  4:37     ` [BUG] sdhci regression in 2.6.21-rc2 Mark Lord
2007-03-05  5:36       ` Pierre Ossman
2007-03-05 14:25         ` Mark Lord
2007-03-05 15:19           ` Mark Lord
2007-03-06  4:17             ` Andrew Morton
2007-03-06  5:47               ` Pierre Ossman
2007-03-06  6:09                 ` Andrew Morton
2007-03-06  7:23                   ` Pierre Ossman
2007-03-05 15:20           ` Pierre Ossman
2007-03-05 15:23             ` Pierre Ossman
2007-03-05 15:35               ` Mark Lord
2007-03-05 16:00                 ` Pierre Ossman
2007-03-05 16:18                   ` Mark Lord
2007-03-05  4:43     ` [BUG} usb regression in 2.6.21-rc2-git3 Mark Lord
2007-03-12 14:56     ` [BUG} usb-serial " Mark Lord
2007-03-12 15:06       ` Oliver Neukum
2007-03-12 15:13         ` Mark Lord
2007-03-12 15:27           ` Oliver Neukum
2007-03-12 15:29           ` Greg KH
2007-03-12 15:38             ` Oliver Neukum
2007-03-12 16:03             ` Mark Lord
2007-03-12 16:10               ` Greg KH
2007-03-12 16:22                 ` Mark Lord
2007-03-12 16:11               ` Mark Lord
2007-03-12 16:14                 ` Mark Lord
2007-03-12 16:27                   ` Mark Lord
2007-03-12 16:50                     ` Mark Lord
2007-03-12 18:48                       ` Oliver Neukum
2007-03-12 20:22                         ` [PATCH] usb-serial regression (Oops) in 2.6.21-rc* Mark Lord
2007-03-12 20:33                           ` Greg KH
2007-03-12 22:20                             ` Mark Lord
2007-03-12 22:42                             ` Jim Radford
2007-03-12 22:59                               ` [PATCH] usb-serial regression fix Jim Radford
2007-03-13  0:18                                 ` Greg KH [this message]
2007-03-13  0:41                                   ` Jim Radford
2007-03-13  1:55                                     ` Mark Lord
2007-03-13  9:14                                       ` Jim Radford
2007-03-13 10:14                                         ` Oliver Neukum
2007-03-13 13:39                                           ` Mark Lord
2007-03-13 13:50                                             ` Oliver Neukum
2007-03-13 13:55                                         ` Mark Lord
2007-03-13 15:30                                           ` Jim Radford
2007-03-13 16:35                                             ` Mark Lord
2007-03-12 16:28                 ` [BUG} usb-serial regression in 2.6.21-rc2-git3 Oliver Neukum
2007-03-12 15:31       ` Greg KH
2007-03-07 11:06   ` [1/6] 2.6.21-rc2: known regressions Jeff Garzik
2007-03-07 22:17     ` Albert Hopkins
2007-03-05  1:50 ` [2/6] " Adrian Bunk
2007-03-07 11:09   ` Jeff Garzik
2007-03-07 16:10     ` Linus Torvalds
2007-03-08 12:03     ` Ash Milsted
2007-03-08 12:31   ` Michael S. Tsirkin
2007-03-08 15:11     ` Jeff Chua
2007-03-08 18:01     ` Linus Torvalds
2007-03-08 19:06       ` Ingo Molnar
2007-03-08 19:10         ` Ingo Molnar
2007-03-08 19:47         ` Michael S. Tsirkin
2007-03-08 20:10           ` Ingo Molnar
2007-03-08 19:25       ` Ingo Molnar
2007-03-08 23:07         ` Ingo Molnar
2007-03-08 23:12           ` Ingo Molnar
2007-03-08 23:28             ` Ingo Molnar
2007-03-08 23:49           ` Linus Torvalds
2007-03-09 10:56             ` Ingo Molnar
2007-03-09 18:00               ` Linus Torvalds
2007-03-09 11:19             ` Pavel Machek
2007-03-18 16:07               ` Ingo Molnar
2007-03-18 16:40                 ` [linux-pm] " Jim Gettys
2007-03-19 19:08                   ` BSOD (was: [2/6] 2.6.21-rc2: known regressions) Pete Zaitcev
2007-03-19 19:38                     ` BSOD David Miller
2007-03-19 19:54                       ` BSOD Jesse Barnes
2007-03-19 20:05                         ` BSOD David Miller
2007-03-19 20:20                           ` BSOD Jesse Barnes
2007-03-19 20:20                           ` BSOD Jim Gettys
2007-03-20  9:19                           ` BSOD Paul Mackerras
2007-03-20 20:33                             ` BSOD Jim Gettys
2007-03-19 20:33                   ` [linux-pm] [2/6] 2.6.21-rc2: known regressions Bill Davidsen
2007-03-19 22:08                     ` Jim Gettys
2007-03-20 14:44                       ` Bill Davidsen
2007-03-09 17:48             ` Johannes Stezenbach
2007-03-09 23:35               ` Pavel Machek
2007-03-10  9:01                 ` Ingo Molnar
2007-03-10 11:43                   ` Stefan Seyfried
2007-03-10 13:53                     ` Johannes Stezenbach
2007-03-10 15:18                     ` Ingo Molnar
2007-03-10 22:08                       ` Pavel Machek
2007-03-11  8:20                         ` Ingo Molnar
2007-03-12  6:34                           ` Stefan Seyfried
2007-03-10 22:04                   ` s2ram (was Re: [2/6] 2.6.21-rc2: known regressions) Pavel Machek
2007-03-08 19:46       ` [2/6] 2.6.21-rc2: known regressions Michael S. Tsirkin
2007-03-08 19:57       ` Michael S. Tsirkin
     [not found]         ` <20070311120802.GA8823@elte.hu>
2007-03-12 20:20           ` Michael S. Tsirkin
2007-03-17 21:41             ` Michael S. Tsirkin
2007-03-17 22:33               ` Thomas Gleixner
2007-03-21 17:28                 ` Michael S. Tsirkin
2007-03-05  1:50 ` [3/6] " Adrian Bunk
2007-03-05  3:58   ` Michal Jaegermann
2007-03-06 17:08   ` Alan Cox
2007-03-07 11:12   ` Jeff Garzik
2007-03-10  1:09     ` Mathieu Bérard
2007-03-10  4:11       ` and try remove another quirk on this computers " Sergio Monteiro Basto
2007-03-10  5:41         ` Linus Torvalds
2007-03-11  4:32           ` Sergio Monteiro Basto
2007-03-12 11:37       ` Tejun Heo
2007-03-13 12:31         ` Mathieu Bérard
2007-03-13 12:41           ` Tejun Heo
2007-03-13 20:56             ` Mathieu Bérard
2007-03-14  6:07               ` Tejun Heo
2007-03-14 10:49                 ` Mathieu Bérard
2007-03-05  1:50 ` [4/6] " Adrian Bunk
2007-03-05 10:35   ` Antonino A. Daplas
2007-03-05 15:06     ` Andrew
2007-03-08 23:28     ` Len Brown
2007-03-09 19:25       ` Andrew
2007-03-05 12:21   ` Richard Purdie
2007-03-05  1:50 ` [5/6] " Adrian Bunk
2007-03-05  7:57   ` Ingo Molnar
2007-03-05  8:13     ` Andrew Morton
2007-03-05 15:25       ` Daniel Walker
2007-03-05 15:27         ` Ingo Molnar
2007-03-05 16:42           ` Daniel Walker
2007-03-05 19:30             ` Ingo Molnar
2007-03-05 16:14     ` Bill Davidsen
2007-03-05 16:21       ` Ingo Molnar
2007-03-05 23:12     ` Adrian Bunk
2007-03-05 23:43   ` Thomas Gleixner
2007-03-05 23:45     ` Linus Torvalds
2007-03-06  0:25       ` Thomas Gleixner
2007-03-06  6:49         ` Soeren Sonnenburg
2007-03-06  7:49           ` Soeren Sonnenburg
2007-03-06  0:38       ` Linus Torvalds
2007-03-06  1:02         ` Thomas Gleixner
2007-03-06  1:31           ` Linus Torvalds
2007-03-06  2:18             ` Linus Torvalds
2007-03-06  7:25               ` Ingo Molnar
2007-03-06  8:09                 ` Thomas Gleixner
2007-03-06 10:33               ` Michael S. Tsirkin
2007-03-06 10:37                 ` Ingo Molnar
2007-03-06 10:46                   ` Michael S. Tsirkin
2007-03-06 11:32                     ` Ingo Molnar
2007-03-06 12:20                       ` Michael S. Tsirkin
2007-03-06 16:44                       ` Linus Torvalds
2007-03-06 17:05                         ` Ingo Molnar
2007-03-06 17:29                         ` [PATCH] highres: do not run the TIMER_SOFTIRQ after switching to highres mode Thomas Gleixner
2007-03-06 17:41                           ` Linus Torvalds
2007-03-16 15:18                         ` [5/6] 2.6.21-rc2: known regressions Randy Dunlap
2007-03-06 11:36                     ` Soeren Sonnenburg
2007-03-06 12:07                       ` Ingo Molnar
2007-03-06 12:15                         ` Michael S. Tsirkin
2007-03-06 12:51                         ` Ingo Molnar
2007-03-06 12:55                           ` Michael S. Tsirkin
2007-03-06 13:03                             ` Ingo Molnar
2007-03-06 13:09                           ` Thomas Gleixner
2007-03-06 12:09                       ` Jeff Chua
2007-03-11 17:32                     ` Pavel Machek
2007-03-06 10:33               ` Michael S. Tsirkin
2007-03-05  1:50 ` [6/6] " Adrian Bunk
2007-03-05  2:07   ` David Miller
2007-03-05  2:26     ` Adrian Bunk
2007-03-05  2:29       ` David Miller
2007-03-05  4:42       ` David Miller
2007-03-05  3:32   ` Greg KH

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=20070313001819.GA6147@kroah.com \
    --to=greg@kroah.com \
    --cc=akpm@linux-foundation.org \
    --cc=bunk@stusta.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --cc=lkml@rtr.ca \
    --cc=oneukum@suse.de \
    --cc=radford@blackbean.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).