From: "Antti Kaijanmäki" <antti.kaijanmaki@nomovok.com>
To: Greg KH <greg@kroah.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] fix hso soft-lockup
Date: Mon, 26 Oct 2009 21:37:35 +0200 [thread overview]
Message-ID: <1256585855.3591.52.camel@nomovok.homedomain> (raw)
In-Reply-To: <20091026171550.GA24910@kroah.com>
On Mon, 2009-10-26 at 10:15 -0700, Greg KH wrote:
> On Thu, Oct 22, 2009 at 11:36:18AM +0300, Antti Kaijanmäki wrote:
> > Fix soft-lockup in hso.c which is triggered on SMP machine when
> > modem is removed while file descriptor(s) under /dev are still open:
> >
> > old version called kref_put() too early which resulted in destroying
> > hso_serial and hso_device objects which were still used later on.
> >
> > Also fix driver debug routines (not compiled in by default).
>
> Patches need to have a "signed-off-by:" line in order to be applied.
>
> Also, please do not gpg sign your patches, that only causes problems
> with our tools.
OK. I'll sent a new patch tomorrow.
> > ---
> > drivers/net/usb/hso.c | 9 ++++++---
> > 1 files changed, 6 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
> > index fa4e581..539642a 100644
> > --- a/drivers/net/usb/hso.c
> > +++ b/drivers/net/usb/hso.c
> > @@ -2,6 +2,7 @@
> > *
> > * Driver for Option High Speed Mobile Devices.
> > *
> > + * Copyright (C) 2009 Antti Kaijanmäki <antti.kaijanmaki@nomovok.com>
>
> Adding a copyright for a few lines changed is not really correct.
Well, it depends on policy. Some might argue that if you make a change
of any sort you must include your copyright notice. I also used a fair
amount of time to track down the problem so this is not just a
whitespace fix or something. But I understand if this is not considered
substantial enough to justify copyright notice and will leave this out
from the revised patch.
> > * Copyright (C) 2008 Option International
> > * Filip Aben <f.aben@option.com>
> > * Denis Joseph Barrow <d.barow@option.com>
> > @@ -378,7 +379,7 @@ static void dbg_dump(int line_count, const char *func_name, unsigned char *buf,
> > }
> >
> > #define DUMP(buf_, len_) \
> > - dbg_dump(__LINE__, __func__, buf_, len_)
> > + dbg_dump(__LINE__, __func__, (unsigned char*)buf_, len_)
>
> Why did you mane this change?
This fixes compile time warning about type mismatch if DEBUG is defined.
Please, see below.
> >
> > #define DUMP1(buf_, len_) \
> > do { \
> > @@ -1363,7 +1364,7 @@ static void hso_serial_close(struct tty_struct *tty, struct file *filp)
> > /* reset the rts and dtr */
> > /* do the actual close */
> > serial->open_count--;
> > - kref_put(&serial->parent->ref, hso_serial_ref_free);
> > +
> > if (serial->open_count <= 0) {
> > serial->open_count = 0;
> > spin_lock_irq(&serial->serial_lock);
> > @@ -1383,6 +1384,8 @@ static void hso_serial_close(struct tty_struct *tty, struct file *filp)
> > usb_autopm_put_interface(serial->parent->interface);
> >
> > mutex_unlock(&serial->parent->mutex);
> > +
> > + kref_put(&serial->parent->ref, hso_serial_ref_free);
> > }
> >
> > /* close the requested serial port */
> > @@ -1527,7 +1530,7 @@ static void tiocmget_intr_callback(struct urb *urb)
> > dev_warn(&usb->dev,
> > "hso received invalid serial state notification\n");
> > DUMP(serial_state_notification,
> > - sizeof(hso_serial_state_notifation))
> > + sizeof(struct hso_serial_state_notification));
>
> Is this a build fix not related to the bug above?
No, as I commented on commit log message the patch also fixes the debug
routines. They have to be enabled by hand by uncommenting a DEBUG define
on the top of the file so this is not anything fatal, just minor
inconvenience.
I thought the debug routines were not important enough to have their own
patch and could be included in this patch as the patch is very small and
the debug routines do not affect any default functionality. Naturally I
can remove the debug routine fix if you want. It's trivial for anyone to
fix them when needed :)
> Also, network patches need to be sent to the network maintainers, they
> usually miss them if you only copy the linux-kernel list.
> Try using the scripts/get_maintainer.pl script on your patch to figure
> out who to send the patch to, and also the scripts/checkpatch.pl script
> to verify that you got everything correct before you send it off.
Thanks! Didn't know about those.
> Also, for a bugfix like this, it would be good to send it to the
> stable@kernel.org developers when it goes into Linus's tree as others
> are reporting problems with this driver in the 2.6.31 kernel.
I'll CC the revised patch there, too.
Thanks for your comments!
-- Antti
next prev parent reply other threads:[~2009-10-26 19:37 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-22 8:36 Antti Kaijanmäki
2009-10-26 7:53 ` Antti Kaijanmäki
2009-10-26 17:15 ` Greg KH
2009-10-26 19:37 ` Antti Kaijanmäki [this message]
2009-10-26 19:40 ` Greg KH
2009-10-27 14:26 ` [PATCH] hso: fix debug routines Antti Kaijanmäki
2009-10-28 23:16 ` Andrew Morton
2009-10-29 6:57 ` Antti Kaijanmäki
2009-10-27 14:26 ` [PATCH] hso: fix soft-lockup Antti Kaijanmäki
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=1256585855.3591.52.camel@nomovok.homedomain \
--to=antti.kaijanmaki@nomovok.com \
--cc=greg@kroah.com \
--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
all inboxes | Powered by JetHome®