[lkml]   [2003]   [May]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectIDE 2.5.69 possible bogosity...

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

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'
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.

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] ==
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] &&
goto found;
for (index = 0; index < MAX_HWIFS; index++)
} while (retry--);
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

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