public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Compact flash disk and slave drives in 2.4.2
@ 2001-03-27  7:25 Richard Smith
  2001-03-27 14:20 ` Padraig Brady
  0 siblings, 1 reply; 9+ messages in thread
From: Richard Smith @ 2001-03-27  7:25 UTC (permalink / raw)
  To: linux-kernel@vger.kernel.org

I spent most of the day today trying to track down why the embedded system I am working 
on would not recognize hdb on boot.  It refused to show in the devices list even though I 
specifically told the kernel it existed with the hdb=c,h,s option.

After working on what seemed like a hardware problem for quite a while I finally decided 
that there must be something flaky in the ide driver code and began to add some debug 
printk's

In which I found the following in ide.c:

/*
 * CompactFlash cards and their brethern pretend to be removable hard disks,
 * except:
 *      (1) they never have a slave unit, and
 *      (2) they don't have doorlock mechanisms.
 * This test catches them, and is invoked elsewhere when setting appropriate
 * config bits.
 *
*/

Since hda in my system is a CompactFlash card I began to look further and then with some 
discovered the following in ide-probe.c

        /*
         * Prevent long system lockup probing later for non-existant
         * slave drive if the hwif is actually a flash memory card of some variety:
         */
        if (drive_is_flashcard(drive)) {
                ide_drive_t *mate = &HWIF(drive)->drives[1^drive->select.b.unit];
                if (!mate->ata_flash) {
                        mate->present = 0;
                ide_drive_t *mate = &HWIF(drive)->drives[1^drive->select.b.unit]
                        mate->noprobe = 1;
                }
        }

Now perhaps I am just way out on the wacky edge of things but I don't agree with the 
above in the slightest.  We use CF's in conjunction with slaves all the time.  Almost all 
of our embedded devices boot from CF's and I routinely add a HD as a slave to the system 
to do developement with but it's always been under DOS.  

I comment out the check above and all is well... hdb shows up as expected.   

Can someone explain to me why the above check was added and if its continued existence is 
necessary?  Whats this long system lockup thing mentioned?

Even if there is some danger of a long lockup I suggest that at least a message that its 
ignoring hdb is the least it could do rather than sliently ignoreing it.  Especially when 
I specifically told it a hdb existed via the command line.  Shouldn't command line 
parameters take precidence?  

I not subscribed to the kernel-list so please copy me in the response.

Thanks.


--
Richard A. Smith    ras2@tant.com 
"I'd hang out with science kids - they can blow things up!
 I mean, what's cooler than that?"
                                                   - Tori Amos



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2001-03-27 20:17 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-03-27  7:25 Compact flash disk and slave drives in 2.4.2 Richard Smith
2001-03-27 14:20 ` Padraig Brady
2001-03-27 16:42   ` Andre Hedrick
2001-03-27 17:06     ` Padraig Brady
2001-03-27 17:17       ` Andre Hedrick
2001-03-27 18:50         ` Padraig Brady
2001-03-27 18:56           ` Andre Hedrick
2001-03-27 19:25         ` Richard A. Smith
2001-03-27 20:15           ` Andre Hedrick

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox