lkml.org 
[lkml]   [2003]   [May]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: IDE 2.5.69 possible bogosity...

On Thu, 22 May 2003, Ian Molton wrote:

> Hi.
>
> Im wondering if this is correct. is the test for initializing in the
> second for loop correct?

Unfortunately, yes.

> Im building an IDE driver into my kernel that calls ide_register_hw()
> twice to register its primary and secondary ports, but only the
> secondary port is recognised. the first fails, since the test in the
> first for loop fails and so does the second, so it then 'unregisters'

Too little information, your MAX_HWIFS and default io ports?

> it, despite never having been registered. somehow, this puts my drive
> INTO the hwif array, so the secondary interface registers OK, passing
> the other tests.

Where is your driver?

> a hack that allowed the primary interface to register was to register it
> twice, but that sucks.
>
> int ide_register_hw (hw_regs_t *hw, ide_hwif_t **hwifp)
> {
> int index, retry = 1;
> ide_hwif_t *hwif;
>
> do {
> for (index = 0; index < MAX_HWIFS; ++index) {
> hwif = &ide_hwifs[index];
> if (hwif->hw.io_ports[IDE_DATA_OFFSET] ==
> hw->io_ports[IDE_DATA_OFFSET])
> goto found;
> }
> for (index = 0; index < MAX_HWIFS; ++index) {
> hwif = &ide_hwifs[index];
>
> *** is the test for initialising (not the !initialising one) here ok?
> ***
>
> if ((!hwif->present && !hwif->mate && !initializing)
> ||
> (!hwif->hw.io_ports[IDE_DATA_OFFSET] &&
> initializing))
> goto found;
> }
> for (index = 0; index < MAX_HWIFS; index++)
> ide_unregister(index);
> } while (retry--);


-
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/

\
 
 \ /
  Last update: 2005-03-22 13:35    [W:0.028 / U:0.624 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site