2002-04-15 02:50:10

by Andries E. Brouwer

[permalink] [raw]
Subject: IDE / SmartMedia

> The TCQ stuff is definitely experimental, you should probably
> configure it out for now.

% grep TCQ .config
# CONFIG_BLK_DEV_IDE_TCQ is not set
# CONFIG_BLK_DEV_IDE_TCQ_DEFAULT is not set

That was not it. I had not selected DMA. Doing so does not help,
but reveals a new choice, namely support for HPT366.
Selecting CONFIG_BLK_DEV_HPT366 makes the crash go away.

So far about IDE. Marcin wil figure out what went wrong there.



I figured out something else, namely that SDDR09 has a built-in
scatter-gather read command (several pages on the card to a single
memory buffer). Probably also an sg write command,
but I have not found it yet. Let me document in public:

/*
* Read Scatter Gather Command: 3+4n bytes.
* byte 0: opcode E7
* byte 2: n
* bytes 4i-1,4i,4i+1: page address
* byte 4i+2: page count
* (i=1..n)
*/

Finally a question. People tell me that very recently
256MB (2Gb) SmartMedia (NAND flash) cards have appeared.
If someone has one of these already, please tell me -
I would like to know the device type code.

Andries


2002-04-15 08:05:42

by Jens Axboe

[permalink] [raw]
Subject: Re: IDE / SmartMedia

On Mon, Apr 15 2002, [email protected] wrote:
> > The TCQ stuff is definitely experimental, you should probably
> > configure it out for now.
>
> % grep TCQ .config
> # CONFIG_BLK_DEV_IDE_TCQ is not set
> # CONFIG_BLK_DEV_IDE_TCQ_DEFAULT is not set
>
> That was not it. I had not selected DMA. Doing so does not help,
> but reveals a new choice, namely support for HPT366.
> Selecting CONFIG_BLK_DEV_HPT366 makes the crash go away.

--- drivers/ide/ide.c~ 2002-04-15 10:05:03.000000000 +0200
+++ drivers/ide/ide.c 2002-04-15 10:05:12.000000000 +0200
@@ -2764,7 +2764,6 @@
if (i) {
drive->queue_depth = i;
if (i >= 1) {
- drive->using_tcq = 1;
drive->tcq->queued = 0;
drive->tcq->active_tag = -1;
return 0;

--
Jens Axboe

2002-04-15 10:14:26

by Andries E. Brouwer

[permalink] [raw]
Subject: Re: IDE / SmartMedia

From [email protected] Mon Apr 15 10:05:40 2002

- drive->using_tcq = 1;

That helps, I think.

The first boot after deleting this line again crashed,
but this time with BUG() in <linux/usb.h>.
All usb stuff was compiled in except for usb-storage,
which was a module and not loaded.

Maybe a race somewhere. The second boot all was fine.

Andries

2002-04-15 17:02:47

by Greg KH

[permalink] [raw]
Subject: Re: IDE / SmartMedia

On Mon, Apr 15, 2002 at 10:14:14AM +0000, [email protected] wrote:
> From [email protected] Mon Apr 15 10:05:40 2002
>
> - drive->using_tcq = 1;
>
> That helps, I think.
>
> The first boot after deleting this line again crashed,
> but this time with BUG() in <linux/usb.h>.
> All usb stuff was compiled in except for usb-storage,
> which was a module and not loaded.
>
> Maybe a race somewhere. The second boot all was fine.

If the BUG() call in usb.h happens again, could you please send the
ksymoops trace, and let us know which USB drivers you have loaded? This
BUG() call (if it's the one I think it is) was added to try to find
buggy drivers.

thanks,

greg k-h