mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Justin Piszcz <jpiszcz@lucidpixels.com>
To: adam radford <aradford@gmail.com>
Cc: linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-ide@vger.kernel.org
Subject: Re: 3w-9xxx: scsi0: WARNING: (0x06:0x0037): Character ioctl (0x108) timed out, resetting card.
Date: Thu, 2 Sep 2010 10:21:57 -0400 (EDT)	[thread overview]
Message-ID: <alpine.DEB.2.00.1009020540500.22317@p34.internal.lan> (raw)
In-Reply-To: <AANLkTi=SO1nZbFySAs8_+TmCZcKBPihN6xrZfJihBnXG@mail.gmail.com>



On Wed, 1 Sep 2010, adam radford wrote:

> On Wed, Sep 1, 2010 at 2:40 AM, Justin Piszcz <jpiszcz@lucidpixels.com> wrote:
>
>> Could the lock/unlock be causing the issue?
>> Again, in 2.6.34, there are no latency problems or controller resets.
>
> Justin,
>
> We are looking into this issue and should get back to you soon.
>
> The lock/unlock() kernel calls were not added by me but were part of a
> series of 'BKL pushdown' patches added by someone to all drivers with
> an ioctl interface.  If you think those might be related to your
> issue, you could try
> removing those 2 lines of code and recompiling.
>
> If you haven't already, please email you kernel .config files for both
> the working kernel and non working kernel to the 3ware/LSI support
> people you are in contact with.
>
> Thanks.
>
> -Adam
>

Hi,

Done, attached to the 3ware/LSI case, also available below:

wget http://home.comcast.net/~jpiszcz/20100902/2.6.34.1-config-good.txt
wget http://home.comcast.net/~jpiszcz/20100902/2.6.35.4-io-ctrl-resets.txt

Adam, per your recommendation, I removed the two kernel calls:
+       lock_kernel();
+       unlock_kernel();

Recompiled and the problem persisted, so I took the old driver and copied it
to the new kernel:

p34:/usr/src# cp linux-2.6.34.6/drivers/scsi/3w-9xxx.h linux-2.6.35.4/drivers/scsi/3w-9xxx.h
p34:/usr/src# cp linux-2.6.34.6/drivers/scsi/3w-9xxx.c linux-2.6.35.4/drivers/scsi/3w-9xxx.c
p34:/usr/src#

Moving the 2.6.34.6 driver to 2.6.35.4: success, so it is not a kernel bug,
but a driver issue:

Any other recommendations on what is going on here?

If it isn't the kernel locks, it must be something else:

--- linux-2.6.34.6/drivers/scsi/3w-9xxx.c       2010-08-26 19:44:38.000000000 -0400
+++ linux-2.6.35.4/drivers/scsi/3w-9xxx.c       2010-08-26 19:47:12.000000000 -0400
-   Written By: Adam Radford <linuxraid@amcc.com>
-   Modifications By: Tom Couch <linuxraid@amcc.com>
+   Written By: Adam Radford <linuxraid@lsi.com>
+   Modifications By: Tom Couch <linuxraid@lsi.com>
+   Copyright (C) 2010 LSI Corporation.
-   linuxraid@amcc.com
+   linuxraid@lsi.com
-   http://www.amcc.com
+   http://www.lsi.com
+   2.26.02.014 - Force 60 second timeout default.
-#define TW_DRIVER_VERSION "2.26.02.013"
+#define TW_DRIVER_VERSION "2.26.02.014"
-MODULE_AUTHOR ("AMCC");
+MODULE_AUTHOR ("LSI");
-static int twa_chrdev_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg);
+static long twa_chrdev_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
-       .ioctl          = twa_chrdev_ioctl,
+       .unlocked_ioctl = twa_chrdev_ioctl,
-static int twa_chrdev_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
+static long twa_chrdev_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+       struct inode *inode = file->f_path.dentry->d_inode;
+       lock_kernel();
+
+       unlock_kernel();
+/* This function gets called when a disk is coming on-line */
+static int twa_slave_configure(struct scsi_device *sdev)
+{
+       /* Force 60 second timeout */
+       blk_queue_rq_timeout(sdev->request_queue, 60 * HZ);
+
+       return 0;
+} /* End twa_slave_configure() */
+
+       .slave_configure        = twa_slave_configure,


Justin.


  reply	other threads:[~2010-09-02 14:22 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-27 13:12 Justin Piszcz
2010-08-27 16:29 ` adam radford
2010-08-27 17:10   ` Justin Piszcz
2010-08-29 15:49     ` Justin Piszcz
2010-08-31 11:21       ` Justin Piszcz
2010-08-31 11:36         ` Justin Piszcz
2010-08-31 12:23           ` Justin Piszcz
2010-08-31 18:15             ` adam radford
2010-09-01  9:40             ` Justin Piszcz
2010-09-02  0:25               ` adam radford
2010-09-02 14:21                 ` Justin Piszcz [this message]
2010-09-02 14:29                   ` Justin Piszcz
2010-09-02 22:19                     ` Justin Piszcz
2010-09-02 23:34                       ` adam radford

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=alpine.DEB.2.00.1009020540500.22317@p34.internal.lan \
    --to=jpiszcz@lucidpixels.com \
    --cc=aradford@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@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®