Re: Problems using /proc/scsi/gdth/ with 2.4.20aa1

Doug Ledford (dledford@redhat.com)
Wed, 11 Dec 2002 18:03:17 -0500


--9amGYk9869ThD9tj
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Dec 10, 2002 at 07:49:00AM +0100, Oliver Jehle wrote:
> Running linux 2.4.20-aa1 and the gdth driver works ,but accessing
> /proc/scsi/gdth/0 for example with cat or the supplied icpcon utility
> don't work...
>
> these messages are in system log when accessing /proc/scsi/gdth/0 with
> cat for example (works with 2.4.18)
> ...
>
> Dec 10 06:37:47 arena1 kernel: Unable to handle kernel NULL pointer
> dereference at virtual address 00000000
> Dec 10 06:37:47 arena1 kernel: printing eip:
> Dec 10 06:37:47 arena1 kernel: c024c879
> Dec 10 06:37:47 arena1 kernel: *pde = 00000000
> Dec 10 06:37:47 arena1 kernel: Oops: 0002 2.4.20aa1 #2 SMP Mon Dec 9
> 16:55:18 CET 2002
> Dec 10 06:37:47 arena1 kernel: CPU: 0
> Dec 10 06:37:47 arena1 kernel: EIP:
> 0010:[scsi_release_commandblocks+17/92] Not tainted

/me chuckles

That looks *amazingly* familiar...a patch I wrote introduced that bug,
sorry. It's fix is attached (assuming that Andrea picked up the same
version of the 2.4.x iorl contention patch that we are using now, which
is what introduced this problem for us here).

-- 
  Doug Ledford <dledford@redhat.com>     919-754-3700 x44233
         Red Hat, Inc. 
         1801 Varsity Dr.
         Raleigh, NC 27606
  

--9amGYk9869ThD9tj Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="linux-2.4.9-gdthoops.patch"

--- linux/drivers/scsi/scsi.c-stock Fri Oct 25 15:41:03 2002 +++ linux/drivers/scsi/scsi.c Fri Oct 25 15:47:04 2002 @@ -2672,10 +2672,10 @@ SDpnt->type = -1; SDpnt->queue_depth = 1; - scsi_build_commandblocks(SDpnt); - scsi_initialize_queue(SDpnt, SHpnt); + scsi_build_commandblocks(SDpnt); + SDpnt->online = TRUE; /* @@ -2705,13 +2705,12 @@ panic("Attempt to delete wrong device\n"); } - blk_cleanup_queue(&SDpnt->request_queue); - /* * We only have a single SCpnt attached to this device. Free * it now. */ scsi_release_commandblocks(SDpnt); + blk_cleanup_queue(&SDpnt->request_queue); kfree(SDpnt); }

--9amGYk9869ThD9tj-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/