ide-2.6 update
Subsystems (3)
PATCH 1/1 ide-2.6 update
Please do a
bk pull bk://bart.bkbits.net/ide-2.6
This will update the following files:
drivers/ide/ide-disk.c | 1 + drivers/ide/ide-dma.c | 32 ++++++++++++++++++++++++++++++++ drivers/ide/ide-iops.c | 12 ------------ drivers/ide/ide-probe.c | 2 ++ drivers/ide/ide-taskfile.c | 33 ++++----------------------------- drivers/ide/pci/aec62xx.c | 34 +++++++--------------------------- drivers/ide/pci/amd74xx.c | 4 ++-- drivers/ide/pci/atiixp.c | 34 +++++++--------------------------- drivers/ide/pci/cmd64x.c | 34 +++++++--------------------------- drivers/ide/pci/hpt34x.c | 38 +++++++++----------------------------- drivers/ide/pci/hpt366.c | 33 +++++++-------------------------- drivers/ide/pci/it8172.c | 34 +++++++--------------------------- drivers/ide/pci/pdc202xx_new.c | 35 +++++++---------------------------- drivers/ide/pci/pdc202xx_old.c | 38 +++++++++----------------------------- drivers/ide/pci/piix.c | 16 +--------------- drivers/ide/pci/serverworks.c | 36 +++++++----------------------------- drivers/ide/pci/siimage.c | 33 ++++++--------------------------- drivers/ide/pci/sis5513.c | 34 +++++++--------------------------- drivers/ide/pci/slc90e66.c | 33 ++++++--------------------------- drivers/ide/pci/triflex.c | 25 ++++++++----------------- include/asm-generic/pci.h | 7 +++++++ include/asm-ppc64/machdep.h | 3 +++ include/asm-ppc64/pci.h | 11 ++++++++++- include/linux/ide.h | 7 ++----- 24 files changed, 158 insertions(+), 411 deletions(-)
through these ChangeSets:
<bzolnier@trik.(none)> (04/10/26 1.2196)
[ide] remove needless exports from ide-taskfile.c
Also remove unused MAX_DMA define.
<bzolnier@trik.(none)> (04/10/26 1.2195)
[ide] add ide_use_dma()
Should prevent bugs like the recent piix one in the future.
<bzolnier@trik.(none)> (04/10/26 1.2194)
[ide] add pci_get_legacy_ide_irq()
This patch adds pci_get_legacy_ide_irq() to the PCI layer for dealing with PCI IDE chipsets that use the "legacy mode" IRQ routing, thus violating the normal PCI routing. The generic implementation provides IRQ numbers 14 and 15, and it adds a ppc64 specific one with platform callbacks so that a plaform can provide different IRQ numbers for "legacy" IDE. I only fixed the amd7xxx.c driver for now, I expect people using this interface will slowly fix their drivers (I will fix via soon as I'll need it too, and maybe a few others).
<bzolnier@trik.(none)> (04/10/26 1.2193)
[ide] remove unused internal exports from ide core
From: Arjan van de Ven <[email protected]>
ide-iops.c exports a few functions that either have no users or have no users AND shouldn't be used by drivers; the patch below unexports them.
-EXPORT_SYMBOL(SELECT_INTERRUPT); -EXPORT_SYMBOL(SELECT_MASK); -EXPORT_SYMBOL(QUIRK_LIST); -EXPORT_SYMBOL(ata_vlb_sync);
only used in the core ide code
-EXPORT_SYMBOL(ata_input_data); -EXPORT_SYMBOL(ata_output_data);
drivers should (and do) use the hwif-> function pointer variant of these, these functions are internal and used for setting the default hwif-> function pointers only. No need to export, in fact exporting is only asking for accidents
<bzolnier@trik.(none)> (04/10/26 1.2192)
[ide] pdc202xx_old: PDC20267 needs the same LBA48 fixup as PDC20265
From: Krzysztof Chmielewski <[email protected]>
<bzolnier@trik.(none)> (04/10/26 1.2191)
[ide] ide-probe: undecoded slave fixup
Undecoded slave fixup is a oneliner patch to ide-probe to recognize both of my Maxtor drives that appear to have the same serial number, D3000000.
<bzolnier@trik.(none)> (04/10/26 1.2190)
[ide] ide-disk: fix /proc/ide/hd?/smart_thresholds
Add missing ->data_phase assignment.
drivers/ide/ide-disk.c +1 -0
@@ -815,6 +815,7 @@ args.tfRegister[IDE_HCYL_OFFSET ] =SMART_HCYL_PASS ; args.tfRegister[IDE_COMMAND_OFFSET ] =WIN_SMART ; args.command_type =IDE_DRIVE_TASK_IN ; + args.data_phase =TASKFILE_IN ; args.handler = &task_in_intr; (void )smart_enable (drive);return ide_raw_taskfile (drive, &args, buf);
drivers/ide/ide-dma.c +32 -0
@@ -681,6 +681,38 @@EXPORT_SYMBOL (__ide_dma_good_drive); +int ide_use_dma (ide_drive_t *drive) +{ +struct hd_driveid *id = drive->id; +ide_hwif_t *hwif = drive->hwif; + +/* consult the list of known "bad" drives */ +if (__ide_dma_bad_drive (drive)) +return 0 ; + +/* capable of UltraDMA modes */ +if (id->field_valid &4 ) { +if (hwif->ultra_mask & id->dma_ultra) +return 1 ; + } + +/* capable of regular DMA modes */ +if (id->field_valid &2 ) { +if (hwif->mwdma_mask & id->dma_mword) +return 1 ; +if (hwif->swdma_mask & id->dma_1word) +return 1 ; + } + +/* consult the list of known "good" drives */ +if (__ide_dma_good_drive (drive) && id->eide_dma_time <150 ) +return 1 ; + +return 0 ; +} + +EXPORT_SYMBOL_GPL (ide_use_dma); +void ide_dma_verbose (ide_drive_t *drive) {struct hd_driveid *id = drive->id;
drivers/ide/ide-iops.c +0 -12
@@ -221,24 +221,18 @@HWIF (drive)->OUTB (drive->ctl|2 ,IDE_CONTROL_REG ); } -EXPORT_SYMBOL (SELECT_INTERRUPT ); -void SELECT_MASK (ide_drive_t *drive,int mask) {if (HWIF (drive)->maskproc)HWIF (drive)->maskproc (drive, mask); } -EXPORT_SYMBOL (SELECT_MASK ); -void QUIRK_LIST (ide_drive_t *drive) {if (HWIF (drive)->quirkproc) drive->quirk_list =HWIF (drive)->quirkproc (drive); } -EXPORT_SYMBOL (QUIRK_LIST ); -/* * Some localbus EIDE interfaces require a special access sequence * when using 32-bit I/O instructions to transfer data. We call this
@@ -253,8 +247,6 @@ (void )HWIF (drive)->INB (port); } -EXPORT_SYMBOL (ata_vlb_sync); -/* * This is used for most PIO data transfers *from* the IDE interface */
@@ -277,8 +269,6 @@ } } -EXPORT_SYMBOL (ata_input_data); -/* * This is used for most PIO data transfers *to* the IDE interface */
@@ -300,8 +290,6 @@ hwif->OUTSW (IDE_DATA_REG , buffer, wcount<<1 ); } } - -EXPORT_SYMBOL (ata_output_data);/* * The following routines are mainly used by the ATAPI drivers.
drivers/ide/ide-probe.c +2 -0
@@ -730,6 +730,8 @@/* And beware of confused Maxtor drives that go "M0000000000" "The SN# is garbage in the ID block..." [Eric] */ strncmp(drive->id->serial_no, "M0000000000000000000", 20) && + /* Same goes for another set of Maxtor drives that say "D3000000" */ + strncmp(drive->id->serial_no, "D3000000", 8) && strncmp(hwif->drives[0].id->serial_no, drive->id->serial_no, 20) == 0) {printk (KERN_WARNING "ide-probe: ignoring undecoded slave\n" ); drive->present =0 ;
drivers/ide/ide-taskfile.c +2 -10
@@ -63,17 +63,14 @@ } } - -void taskfile_input_data (ide_drive_t *drive,void *buffer,u32 wcount) +static void taskfile_input_data (ide_drive_t *drive,void *buffer,u32 wcount) {HWIF (drive)->ata_input_data (drive, buffer, wcount);if (drive->bswap)ata_bswap_data (buffer, wcount); } -EXPORT_SYMBOL (taskfile_input_data); - -void taskfile_output_data (ide_drive_t *drive,void *buffer,u32 wcount) +static void taskfile_output_data (ide_drive_t *drive,void *buffer,u32 wcount) {if (drive->bswap) {ata_bswap_data (buffer, wcount);
@@ -84,8 +81,6 @@ } } -EXPORT_SYMBOL (taskfile_output_data); -int taskfile_lib_get_identify (ide_drive_t *drive,u8 *buf) {ide_task_t args;
@@ -101,8 +96,6 @@return ide_raw_taskfile (drive, &args, buf); } -EXPORT_SYMBOL (taskfile_lib_get_identify); -ide_startstop_t do_rw_taskfile (ide_drive_t *drive,ide_task_t *task) {ide_hwif_t *hwif =HWIF (drive);
@@ -470,7 +463,7 @@ }EXPORT_SYMBOL (pre_task_out_intr); -int ide_diag_taskfile (ide_drive_t *drive, ide_task_t *args, unsigned
long data_size, u8 *buf)
+static int ide_diag_taskfile(ide_drive_t *drive, ide_task_t *args, unsigned long data_size, u8 *buf)
{
struct request rq;
@@ -507,8 +500,6 @@
return ide_do_drive_cmd(drive, &rq, ide_wait);
}
-EXPORT_SYMBOL(ide_diag_taskfile);
-
int ide_raw_taskfile (ide_drive_t *drive, ide_task_t *args, u8 *buf) {
return ide_diag_taskfile(drive, args, 0, buf);
@@ -516,10 +507,6 @@
EXPORT_SYMBOL(ide_raw_taskfile);
-#define MAX_DMA (256*SECTOR_WORDS)
-
-ide_startstop_t flagged_taskfile(ide_drive_t *, ide_task_t *); -
int ide_taskfile_ioctl (ide_drive_t *drive, unsigned int cmd,
unsigned long arg)
{
ide_task_request_t *req_task;
@@ -670,8 +657,6 @@
return err;
}
-EXPORT_SYMBOL(ide_taskfile_ioctl);
-
int ide_wait_cmd (ide_drive_t *drive, u8 cmd, u8 nsect, u8 feature,
u8 sectors, u8 *buf)
{
struct request rq;
@@ -689,8 +674,6 @@
return ide_do_drive_cmd(drive, &rq, ide_wait);
}
-EXPORT_SYMBOL(ide_wait_cmd);
-
/*
* FIXME : this needs to map into at taskfile. <[email protected]> */
@@ -748,9 +731,7 @@
return err;
}
-EXPORT_SYMBOL(ide_cmd_ioctl);
-
-int ide_wait_cmd_task (ide_drive_t *drive, u8 *buf) +static int ide_wait_cmd_task(ide_drive_t *drive, u8 *buf)
{
struct request rq;
@@ -760,8 +741,6 @@
return ide_do_drive_cmd(drive, &rq, ide_wait);
}
-EXPORT_SYMBOL(ide_wait_cmd_task);
-
/*
* FIXME : this needs to map into at taskfile. <[email protected]> */
@@ -780,8 +759,6 @@
return err;
}
-EXPORT_SYMBOL(ide_task_ioctl);
-
/*
* NOTICE: This is additions from IBM to provide a discrete interface,
* for selective taskregister access operations. Nice JOB Klaus!!!
@@ -902,5 +879,3 @@
return ide_started;
}
-
-EXPORT_SYMBOL(flagged_taskfile);
drivers/ide/pci/aec62xx.c +7 -27
@@ -189,36 +189,16 @@struct hd_driveid *id = drive->id;if ((id->capability &1 ) && drive->autodma) { -/* Consult the list of known "bad" drives */ -if (__ide_dma_bad_drive (drive)) - goto fast_ata_pio; -if (id->field_valid &4 ) { -if (id->dma_ultra & hwif->ultra_mask) { -/* Force if Capable UltraDMA */ -int dma =config_chipset_for_dma (drive); -if ((id->field_valid &2 ) && !dma) - goto try_dma_modes; - } - }else if (id->field_valid &2 ) { -try_dma_modes: -if ((id->dma_mword & hwif->mwdma_mask) || - (id->dma_1word & hwif->swdma_mask)) { -/* Force if Capable regular DMA modes */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - } - }else if (__ide_dma_good_drive (drive) && - (id->eide_dma_time <150 )) { -/* Consult the list of known "good" drives */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - }else { - goto fast_ata_pio; + +if (ide_use_dma (drive)) { +if (config_chipset_for_dma (drive)) +return hwif->ide_dma_on (drive); } -return hwif->ide_dma_on (drive); + + goto fast_ata_pio; + }else if ((id->capability &8 ) || (id->field_valid &2 )) { fast_ata_pio: -no_dma_set:aec62xx_tune_drive (drive,5 );return hwif->ide_dma_off_quietly (drive); }
drivers/ide/pci/amd74xx.c +2 -2
@@ -416,8 +416,8 @@ {int i; -if (!hwif->irq) - hwif->irq = hwif->channel ?15 :14 ; +if (hwif->irq ==0 )/* 0 is bogus but will do for now */ + hwif->irq =pci_get_legacy_ide_irq (hwif->pci_dev, hwif->channel); hwif->autodma =0 ;
drivers/ide/pci/atiixp.c +7 -27
@@ -261,36 +261,16 @@ drive->init_speed =0 ;if ((id->capability &1 ) && drive->autodma) { -/* Consult the list of known "bad" drives */ -if (__ide_dma_bad_drive (drive)) - goto fast_ata_pio; -if (id->field_valid &4 ) { -if (id->dma_ultra & hwif->ultra_mask) { -/* Force if Capable UltraDMA */ -if ((id->field_valid &2 ) && - (!atiixp_config_drive_for_dma (drive))) - goto try_dma_modes; - } - }else if (id->field_valid &2 ) { -try_dma_modes: -if ((id->dma_mword & hwif->mwdma_mask) || - (id->dma_1word & hwif->swdma_mask)) { -/* Force if Capable regular DMA modes */ -if (!atiixp_config_drive_for_dma (drive)) - goto no_dma_set; - } - }else if (__ide_dma_good_drive (drive) && - (id->eide_dma_time <150 )) { -/* Consult the list of known "good" drives */ -if (!atiixp_config_drive_for_dma (drive)) - goto no_dma_set; - }else { - goto fast_ata_pio; + +if (ide_use_dma (drive)) { +if (atiixp_config_drive_for_dma (drive)) +return hwif->ide_dma_on (drive); } -return hwif->ide_dma_on (drive); + + goto fast_ata_pio; + }else if ((id->capability &8 ) || (id->field_valid &2 )) { fast_ata_pio: -no_dma_set: tspeed =ide_get_best_pio_mode (drive,255 ,5 ,NULL ); speed =atiixp_dma_2_pio (XFER_PIO_0 + tspeed) +XFER_PIO_0 ; hwif->speedproc (drive, speed);
drivers/ide/pci/cmd64x.c +7 -27
@@ -441,36 +441,16 @@struct hd_driveid *id = drive->id;if ((id !=NULL ) && ((id->capability &1 ) !=0 ) && drive->autodma) { -/* Consult the list of known "bad" drives */ -if (__ide_dma_bad_drive (drive)) - goto fast_ata_pio; -if ((id->field_valid &4 ) &&cmd64x_ratemask (drive)) { -if (id->dma_ultra & hwif->ultra_mask) { -/* Force if Capable UltraDMA */ -int dma =config_chipset_for_dma (drive); -if ((id->field_valid &2 ) && !dma) - goto try_dma_modes; - } - }else if (id->field_valid &2 ) { -try_dma_modes: -if ((id->dma_mword & hwif->mwdma_mask) || - (id->dma_1word & hwif->swdma_mask)) { -/* Force if Capable regular DMA modes */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - } - }else if (__ide_dma_good_drive (drive) && - (id->eide_dma_time <150 )) { -/* Consult the list of known "good" drives */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - }else { - goto fast_ata_pio; + +if (ide_use_dma (drive)) { +if (config_chipset_for_dma (drive)) +return hwif->ide_dma_on (drive); } -return hwif->ide_dma_on (drive); + + goto fast_ata_pio; + }else if ((id->capability &8 ) || (id->field_valid &2 )) { fast_ata_pio: -no_dma_set:config_chipset_for_pio (drive,1 );return hwif->ide_dma_off_quietly (drive); }
drivers/ide/pci/hpt34x.c +9 -29
@@ -130,40 +130,20 @@ drive->init_speed =0 ;if (id && (id->capability &1 ) && drive->autodma) { -/* Consult the list of known "bad" drives */ -if (__ide_dma_bad_drive (drive)) - goto fast_ata_pio; -if (id->field_valid &4 ) { -if (id->dma_ultra & hwif->ultra_mask) { -/* Force if Capable UltraDMA */ -int dma =config_chipset_for_dma (drive); -if ((id->field_valid &2 ) && dma) - goto try_dma_modes; - } - }else if (id->field_valid &2 ) { -try_dma_modes: -if ((id->dma_mword & hwif->mwdma_mask) || - (id->dma_1word & hwif->swdma_mask)) { -/* Force if Capable regular DMA modes */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - } - }else if (__ide_dma_good_drive (drive) && - (id->eide_dma_time <150 )) { -/* Consult the list of known "good" drives */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - }else { - goto fast_ata_pio; - } + +if (ide_use_dma (drive)) { + if (config_chipset_for_dma(drive))#ifndef CONFIG_HPT34X_AUTODMA -return hwif->ide_dma_off_quietly (drive); +return hwif->ide_dma_off_quietly (drive);#else -return hwif->ide_dma_on (drive); +return hwif->ide_dma_on (drive);#endif + } + + goto fast_ata_pio; + }else if ((id->capability &8 ) || (id->field_valid &2 )) { fast_ata_pio: -no_dma_set:hpt34x_tune_drive (drive,255 );return hwif->ide_dma_off_quietly (drive); }
drivers/ide/pci/hpt366.c +7 -26
@@ -460,35 +460,16 @@ drive->init_speed =0 ;if (id && (id->capability &1 ) && drive->autodma) { -/* Consult the list of known "bad" drives */ -if (__ide_dma_bad_drive (drive)) - goto fast_ata_pio; -if (id->field_valid &4 ) { -if (id->dma_ultra & hwif->ultra_mask) { -/* Force if Capable UltraDMA */ -int dma =config_chipset_for_dma (drive); -if ((id->field_valid &2 ) && !dma) - goto try_dma_modes; - } - }else if (id->field_valid &2 ) { -try_dma_modes: -if (id->dma_mword & hwif->mwdma_mask) { -/* Force if Capable regular DMA modes */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - } - }else if (__ide_dma_good_drive (drive) && - (id->eide_dma_time <150 )) { -/* Consult the list of known "good" drives */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - }else { - goto fast_ata_pio; + +if (ide_use_dma (drive)) { +if (config_chipset_for_dma (drive)) +return hwif->ide_dma_on (drive); } -return hwif->ide_dma_on (drive); + + goto fast_ata_pio; + }else if ((id->capability &8 ) || (id->field_valid &2 )) { fast_ata_pio: -no_dma_set:hpt3xx_tune_drive (drive,5 );return hwif->ide_dma_off_quietly (drive); }
drivers/ide/pci/it8172.c +7 -27
@@ -201,36 +201,16 @@ drive->init_speed =0 ;if (id && (id->capability &1 ) && drive->autodma) { -/* Consult the list of known "bad" drives */ -if (__ide_dma_bad_drive (drive)) - goto fast_ata_pio; -if (id->field_valid &4 ) { -if (id->dma_ultra & hwif->ultra_mask) { -/* Force if Capable UltraDMA */ -int dma =it8172_config_chipset_for_dma (drive); -if ((id->field_valid &2 ) && !dma) - goto try_dma_modes; - } - }else if (id->field_valid &2 ) { -try_dma_modes: -if ((id->dma_mword & hwif->mwdma_mask) || - (id->dma_1word & hwif->swdma_mask)) { -/* Force if Capable regular DMA modes */ -if (!it8172_config_chipset_for_dma (drive)) - goto no_dma_set; - } - }else if (__ide_dma_good_drive (drive) && - (id->eide_dma_time <150 )) { -/* Consult the list of known "good" drives */ -if (!it8172_config_chipset_for_dma (drive)) - goto no_dma_set; - }else { - goto fast_ata_pio; + +if (ide_use_dma (drive)) { +if (it8172_config_chipset_for_dma (drive)) +return hwif->ide_dma_on (drive); } -return hwif->ide_dma_on (drive); + + goto fast_ata_pio; + }else if ((id->capability &8 ) || (id->field_valid &2 )) { fast_ata_pio: -no_dma_set:it8172_tune_drive (drive,5 );return hwif->ide_dma_off_quietly (drive); }
drivers/ide/pci/pdc202xx_new.c +7 -28
@@ -189,37 +189,16 @@ drive->init_speed =0 ;if (id && (id->capability &1 ) && drive->autodma) { -/* Consult the list of known "bad" drives */ -if (__ide_dma_bad_drive (drive)) - goto fast_ata_pio; -if (id->field_valid &4 ) { -if (id->dma_ultra & hwif->ultra_mask) { -/* Force if Capable UltraDMA */ -int dma =config_chipset_for_dma (drive); -if ((id->field_valid &2 ) && !dma) - goto try_dma_modes; - } - }else if (id->field_valid &2 ) { -try_dma_modes: -if ((id->dma_mword & hwif->mwdma_mask) || - (id->dma_1word & hwif->swdma_mask)) { -/* Force if Capable regular DMA modes */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - } - }else if (__ide_dma_good_drive (drive) && - (id->eide_dma_time <150 )) { - goto no_dma_set; -/* Consult the list of known "good" drives */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - }else { - goto fast_ata_pio; + +if (ide_use_dma (drive)) { +if (config_chipset_for_dma (drive)) +return hwif->ide_dma_on (drive); } -return hwif->ide_dma_on (drive); + + goto fast_ata_pio; + }else if ((id->capability &8 ) || (id->field_valid &2 )) { fast_ata_pio: -no_dma_set: hwif->tuneproc (drive,5 );return hwif->ide_dma_off_quietly (drive); }
drivers/ide/pci/pdc202xx_old.c +9 -29
@@ -334,37 +334,16 @@ drive->init_speed =0 ;if (id && (id->capability &1 ) && drive->autodma) { -/* Consult the list of known "bad" drives */ -if (__ide_dma_bad_drive (drive)) - goto fast_ata_pio; -if (id->field_valid &4 ) { -if (id->dma_ultra & hwif->ultra_mask) { -/* Force if Capable UltraDMA */ -int dma =config_chipset_for_dma (drive); -if ((id->field_valid &2 ) && !dma) - goto try_dma_modes; - } - }else if (id->field_valid &2 ) { -try_dma_modes: -if ((id->dma_mword & hwif->mwdma_mask) || - (id->dma_1word & hwif->swdma_mask)) { -/* Force if Capable regular DMA modes */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - } - }else if (__ide_dma_good_drive (drive) && - (id->eide_dma_time <150 )) { - goto no_dma_set; -/* Consult the list of known "good" drives */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - }else { - goto fast_ata_pio; + +if (ide_use_dma (drive)) { +if (config_chipset_for_dma (drive)) +return hwif->ide_dma_on (drive); } -return hwif->ide_dma_on (drive); + + goto fast_ata_pio; + }else if ((id->capability &8 ) || (id->field_valid &2 )) { fast_ata_pio: -no_dma_set: hwif->tuneproc (drive,5 );return hwif->ide_dma_off_quietly (drive); }
@@ -585,7 +564,8 @@struct pci_dev *dev = hwif->pci_dev;/* PDC20265 has problems with large LBA48 requests */ -if (dev->device ==PCI_DEVICE_ID_PROMISE_20265 ) +if ((dev->device ==PCI_DEVICE_ID_PROMISE_20267 ) || + (dev->device ==PCI_DEVICE_ID_PROMISE_20265 )) hwif->rqsize =256 ; hwif->autodma =0 ;
drivers/ide/pci/piix.c +1 -15
@@ -403,25 +403,11 @@if ((id->capability &1 ) && drive->autodma) { -/* Consult the list of known "bad" drives */ -if (__ide_dma_bad_drive (drive)) - goto fast_ata_pio; - -/** -* Try to turn DMA on if: -* - UDMA or EIDE modes are supported or -* - drive is a known "good" drive -* -* Checks for best mode supported are down later by -* piix_config_drive_for_dma() -> ide_dma_speed() -*/ -if ((id->field_valid & (4 |2 )) || - (__ide_dma_good_drive (drive) && id->eide_dma_time <150 )) { +if (ide_use_dma (drive)) {if (piix_config_drive_for_dma (drive))return hwif->ide_dma_on (drive); } -/* For some reason DMA wasn't turned on, so try PIO. */ goto fast_ata_pio; }else if ((id->capability &8 ) || (id->field_valid &2 )) {
drivers/ide/pci/serverworks.c +7 -29
@@ -305,38 +305,16 @@ drive->init_speed =0 ;if ((id->capability &1 ) && drive->autodma) { -/* Consult the list of known "bad" drives */ -if (__ide_dma_bad_drive (drive)) - goto fast_ata_pio; -if (id->field_valid &4 ) { -if (id->dma_ultra & hwif->ultra_mask) { -/* Force if Capable UltraDMA */ -int dma =config_chipset_for_dma (drive); -if ((id->field_valid &2 ) && !dma) - goto try_dma_modes; - }else -/* UDMA disabled by mask, try other DMA modes */ - goto try_dma_modes; - }else if (id->field_valid &2 ) { -try_dma_modes: -if ((id->dma_mword & hwif->mwdma_mask) || - (id->dma_1word & hwif->swdma_mask)) { -/* Force if Capable regular DMA modes */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - } - }else if (__ide_dma_good_drive (drive) && - (id->eide_dma_time <150 )) { -/* Consult the list of known "good" drives */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - }else { - goto no_dma_set; + +if (ide_use_dma (drive)) { +if (config_chipset_for_dma (drive)) +return hwif->ide_dma_on (drive); } -return hwif->ide_dma_on (drive); + + goto fast_ata_pio; + }else if ((id->capability &8 ) || (id->field_valid &2 )) { fast_ata_pio: -no_dma_set:config_chipset_for_pio (drive);// hwif->tuneproc(drive, 5); return hwif->ide_dma_off_quietly (drive);
drivers/ide/pci/siimage.c +6 -27
@@ -420,37 +420,16 @@struct hd_driveid *id = drive->id;if ((id->capability &1 ) !=0 && drive->autodma) { -/* Consult the list of known "bad" drives */ -if (__ide_dma_bad_drive (drive)) - goto fast_ata_pio; -if ((id->field_valid &4 ) &&siimage_ratemask (drive)) { -if (id->dma_ultra & hwif->ultra_mask) { -/* Force if Capable UltraDMA */ -int dma =config_chipset_for_dma (drive); -if ((id->field_valid &2 ) && !dma) - goto try_dma_modes; - } - }else if (id->field_valid &2 ) { -try_dma_modes: -if ((id->dma_mword & hwif->mwdma_mask) || - (id->dma_1word & hwif->swdma_mask)) { -/* Force if Capable regular DMA modes */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - } - }else if (__ide_dma_good_drive (drive) && - (id->eide_dma_time <150 )) { -/* Consult the list of known "good" drives */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - }else { - goto fast_ata_pio; +if (ide_use_dma (drive)) { +if (config_chipset_for_dma (drive)) +return hwif->ide_dma_on (drive); } -return hwif->ide_dma_on (drive); + + goto fast_ata_pio; + }else if ((id->capability &8 ) || (id->field_valid &2 )) { fast_ata_pio: -no_dma_set:config_chipset_for_pio (drive,1 );return hwif->ide_dma_off_quietly (drive); }
drivers/ide/pci/sis5513.c +7 -27
@@ -671,36 +671,16 @@ drive->init_speed =0 ;if (id && (id->capability &1 ) && drive->autodma) { -/* Consult the list of known "bad" drives */ -if (__ide_dma_bad_drive (drive)) - goto fast_ata_pio; -if (id->field_valid &4 ) { -if (id->dma_ultra & hwif->ultra_mask) { -/* Force if Capable UltraDMA */ -int dma =config_chipset_for_dma (drive); -if ((id->field_valid &2 ) && !dma) - goto try_dma_modes; - } - }else if (id->field_valid &2 ) { -try_dma_modes: -if ((id->dma_mword & hwif->mwdma_mask) || - (id->dma_1word & hwif->swdma_mask)) { -/* Force if Capable regular DMA modes */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - } - }else if (__ide_dma_good_drive (drive) && - (id->eide_dma_time <150 )) { -/* Consult the list of known "good" drives */ -if (!config_chipset_for_dma (drive)) - goto no_dma_set; - }else { - goto fast_ata_pio; + +if (ide_use_dma (drive)) { +if (config_chipset_for_dma (drive)) +return hwif->ide_dma_on (drive); } -return hwif->ide_dma_on (drive); + + goto fast_ata_pio; + }else if ((id->capability &8 ) || (id->field_valid &2 )) { fast_ata_pio: -no_dma_set:sis5513_tune_drive (drive,5 );return hwif->ide_dma_off_quietly (drive); }
drivers/ide/pci/slc90e66.c +6 -27
@@ -178,37 +178,16 @@ drive->init_speed =0 ;if (id && (id->capability &1 ) && drive->autodma) { -/* Consult the list of known "bad" drives */ -if (__ide_dma_bad_drive (drive)) - goto fast_ata_pio; -if (id->field_valid &4 ) { -if (id->dma_ultra & hwif->ultra_mask) { -/* Force if Capable UltraDMA */ -int dma =slc90e66_config_drive_for_dma (drive); -if ((id->field_valid &2 ) && !dma) - goto try_dma_modes; - } - }else if (id->field_valid &2 ) { -try_dma_modes: -if ((id->dma_mword & hwif->mwdma_mask) || - (id->dma_1word & hwif->swdma_mask)) { -/* Force if Capable regular DMA modes */ -if (!slc90e66_config_drive_for_dma (drive)) - goto no_dma_set; - } - }else if (__ide_dma_good_drive (drive) && - (id->eide_dma_time <150 )) { -/* Consult the list of known "good" drives */ -if (!slc90e66_config_drive_for_dma (drive)) - goto no_dma_set; - }else { - goto fast_ata_pio; +if (ide_use_dma (drive)) { +if (slc90e66_config_drive_for_dma (drive)) +return hwif->ide_dma_on (drive); } -return hwif->ide_dma_on (drive); + + goto fast_ata_pio; + }else if ((id->capability &8 ) || (id->field_valid &2 )) { fast_ata_pio: -no_dma_set: hwif->tuneproc (drive,5 );return hwif->ide_dma_off_quietly (drive); }
drivers/ide/pci/triflex.c +8 -17
@@ -118,25 +118,16 @@ {ide_hwif_t *hwif =HWIF (drive);struct hd_driveid *id = drive->id; - -if (id && (id->capability &1 ) && drive->autodma) { -if (__ide_dma_bad_drive (drive)) - goto tune_pio; -if (id->field_valid &2 ) { -if ((id->dma_mword & hwif->mwdma_mask) || - (id->dma_1word & hwif->swdma_mask)) { -if (!triflex_config_drive_for_dma (drive)) - goto tune_pio; - } - }else - goto tune_pio; - }else { -tune_pio: - hwif->tuneproc (drive,255 ); -return hwif->ide_dma_off_quietly (drive); + +if ((id->capability &1 ) && drive->autodma) { +if (ide_use_dma (drive)) { +if (triflex_config_drive_for_dma (drive)) +return hwif->ide_dma_on (drive); + } } -return hwif->ide_dma_on (drive); + hwif->tuneproc (drive,255 ); +return hwif->ide_dma_off_quietly (drive); }static void __init init_hwif_triflex (ide_hwif_t *hwif)
include/asm-generic/pci.h +7 -0
@@ -24,4 +24,11 @@#define pcibios_scan_all_fns (a, b) 0 +#ifndef HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ +static inline int pci_get_legacy_ide_irq (struct pci_dev *dev,int channel) +{ +return channel ?15 :14 ; +} +#endif /* HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ */ +#endif
include/asm-ppc64/machdep.h +3 -0
@@ -119,6 +119,9 @@/* Check availability of legacy devices like i8042 */ int (*check_legacy_ioport)(unsigned int baseport); +/* Get legacy PCI/IDE interrupt mapping */ +int (*pci_get_legacy_ide_irq)(struct pci_dev *dev,int channel); + };extern struct machdep_calls ppc_md;
include/asm-ppc64/pci.h +10 -1
@@ -13,6 +13,7 @@#include <linux/slab.h> #include <linux/string.h> #include <linux/dma-mapping.h> +#include <asm/machdep.h> #include <asm/scatterlist.h> #include <asm/io.h> #include <asm/prom.h>
@@ -20,6 +21,8 @@#define PCIBIOS_MIN_IO 0x1000#define PCIBIOS_MIN_MEM 0x10000000 +struct pci_dev ; +#ifdef CONFIG_PPC_ISERIES #define pcibios_scan_all_fns (a, b) 0#else
@@ -36,7 +39,13 @@/* We don't do dynamic PCI IRQ allocation */ } -struct pci_dev ; +#define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ +static inline int pci_get_legacy_ide_irq (struct pci_dev *dev,int channel) +{ +if (ppc_md.pci_get_legacy_ide_irq) +return ppc_md.pci_get_legacy_ide_irq (dev, channel); +return channel ?15 :14 ; +}#define HAVE_ARCH_PCI_MWI 1static inline int pcibios_prep_mwi (struct pci_dev *dev)
include/linux/ide.h +2 -5
@@ -1302,9 +1302,6 @@*/ extern int ide_wait_cmd (ide_drive_t *,u8 ,u8 ,u8 ,u8 ,u8 *); -/* (ide_drive_t *drive, u8 *buf) */ -extern int ide_wait_cmd_task (ide_drive_t *,u8 *); - typedef struct ide_task_s { /* * struct hd_drive_task_hdr tf;
@@ -1349,8 +1346,6 @@extern void ata_output_data (ide_drive_t *,void *,u32 );extern void atapi_input_bytes (ide_drive_t *,void *,u32 );extern void atapi_output_bytes (ide_drive_t *,void *,u32 ); -extern void taskfile_input_data (ide_drive_t *,void *,u32 ); -extern void taskfile_output_data (ide_drive_t *,void *,u32 );extern int drive_is_ready (ide_drive_t *);extern int wait_for_ready (ide_drive_t *,int /* timeout */ );
@@ -1491,6 +1486,7 @@#ifdef CONFIG_BLK_DEV_IDEDMA int __ide_dma_bad_drive (ide_drive_t *);int __ide_dma_good_drive (ide_drive_t *); +int ide_use_dma (ide_drive_t *);int __ide_dma_off (ide_drive_t *);void ide_dma_verbose (ide_drive_t *);
@@ -1516,6 +1512,7 @@#endif /* CONFIG_BLK_DEV_IDEDMA_PCI */ #else +static inline int ide_use_dma (ide_drive_t *drive) {return 0 ; }static inline int __ide_dma_off (ide_drive_t *drive) {return 0 ; }static inline void ide_dma_verbose (ide_drive_t *drive) { ; }#endif /* CONFIG_BLK_DEV_IDEDMA */
Quoted 2 lines · Bartlomiej Zolnierkiewicz
<bzolnier@trik.(none)> (04/10/26 1.2192)
[ide]pdc202xx_old: PDC20267 needs the same LBA48 fixup as PDC20265
What would the symptoms of this bug be? I've got a PDC20267 and I'm having a few issues transferring from hde to hdh (ie across two ports) it seems. My work at duplicating things seems to work best when I do a transfer like that rather then going from say, a totall different controller to the pdc (hdh) or even from generated input to the pdc (hdh).
Signature · 1 line
Red herrings strewn hither and yon.
http://bugme.osdl.org/show_bug.cgi?id=2494
Quoted 12 lines · CaT
Quoted 2 lines · Bartlomiej Zolnierkiewicz
<bzolnier@trik.(none)> (04/10/26 1.2192)
[ide]pdc202xx_old: PDC20267 needs the same LBA48 fixup as PDC20265What would the symptoms of this bug be? I've got a PDC20267 and I'm having a few issues transferring from hde to hdh (ie across two ports) it seems. My work at duplicating things seems to work best when I do a transfer like that rather then going from say, a totall different controller to the pdc (hdh) or even from generated input to the pdc (hdh).
--
Red herrings strewn hither and yon.
Quoted 12 lines · Bartlomiej Zolnierkiewicz
http://bugme.osdl.org/show_bug.cgi?id=2494
Quoted 9 lines · CaT
Quoted 2 lines · Bartlomiej Zolnierkiewicz
<bzolnier@trik.(none)> (04/10/26 1.2192)
[ide]pdc202xx_old: PDC20267 needs the same LBA48 fixup as PDC20265What would the symptoms of this bug be? I've got a PDC20267 and I'm having a few issues transferring from hde to hdh (ie across two ports) it seems. My work at duplicating things seems to work best when I do a transfer like that rather then going from say, a totall different controller to the pdc (hdh) or even from generated input to the pdc (hdh).
I see only one note where someone claims the '67 is affected. What would trigger it? A large disk or just heavy I/O? FWIW, my news server has received, stored, manipulated, and sent >500 gigabytes of data using a lowly 20267 add-on card in a 440BX mobo, and has _never_ had any problems, and I/O is sometimes very heavy.
Quoted 16 lines · Mikael Pettersson
Quoted 12 lines · Bartlomiej Zolnierkiewicz
http://bugme.osdl.org/show_bug.cgi?id=2494
Quoted 9 lines · CaT
Quoted 2 lines · Bartlomiej Zolnierkiewicz
<bzolnier@trik.(none)> (04/10/26 1.2192)
[ide]pdc202xx_old: PDC20267 needs the same LBA48 fixup as PDC20265What would the symptoms of this bug be? I've got a PDC20267 and I'm having a few issues transferring from hde to hdh (ie across two ports) it seems. My work at duplicating things seems to work best when I do a transfer like that rather then going from say, a totall different controller to the pdc (hdh) or even from generated input to the pdc (hdh).
Quoted 5 lines
I see only one note where someone claims the '67 is affected. What would trigger it? A large disk or just heavy I/O? FWIW, my news server has received, stored, manipulated, and sent >500 gigabytes of data using a lowly 20267 add-on card in a 440BX mobo, and has _never_ had any problems, and I/O is sometimes very heavy.
request with number of sectors > 256 on LBA48 capable disk (!= large disk)
PDC20267 bug and corruption (was: Re: [BK PATCHES] ide-2.6 update)
In reply to Bartlomiej ZolnierkiewiczQuoted 1 line · Bartlomiej Zolnierkiewicz
Tried it via bk7, wasn't it.
Looks like I have found a bug relating to the pdc driver though.
The situation is such: I have 2 HDs connected to a PDC20267 PCI card, one on each channel, with a master on the primary channel and a slave on the secondry channel. Accessing each drive individually causes no problems at all but accessing them simultaneously (like copying data off one drive onto the other) causes the IDE layer to go to hell in a hand basket. I can duplicate this each and every time by doing the following:
1. copying a few gig from hde to hdh
2. dd if=/dev/hde of=/dev/null
dd if=/dev/zero of=/dev/hdh
With method #1 I get the following:
Oct 27 00:37:39 nessie kernel: attempt to access beyond end of device Oct 27 00:37:39 nessie kernel: hdh1: rw=1, want=3034756264, limit=390716802 Oct 27 00:37:40 nessie kernel: Aborting journal on device hdh1. Oct 27 00:37:40 nessie kernel: ext3_abort called. Oct 27 00:37:40 nessie kernel: EXT3-fs error (device hdh1): ext3_journal_start: Detected aborted journal Oct 27 00:37:40 nessie kernel: Remounting filesystem read-only Oct 27 00:37:40 nessie kernel: EXT3-fs error (device hdh1) in start_transaction: Journal has aborted
With method #2, a whole lot more fun occurs. The logfile I have is big (almost 400k) so I've compressed it and included it as an attachment. This is with kernel 2.6.10-rc1-bk7 (no logs survived from me testing this with rc1-mm2).
My HDs attached are:
/dev/hde:
ATA device, with non-removable media powers-up in standby; SET FEATURES subcmd spins-up.
Model Number: IC35L060AVV207-0 Serial Number: VNVB01G2RAK8XH Firmware Revision: V22OA63A Standards: Used: ATA/ATAPI-6 T13 1410D revision 3a Supported: 6 5 4 3 Configuration: Logical max current cylinders 16383 65535 heads 16 1 sectors/track 63 63 -- CHS current addressable sectors: 4128705 LBA user addressable sectors: 120103200 LBA48 user addressable sectors: 120103200 device size with M = 1024*1024: 58644 MBytes device size with M = 1000*1000: 61492 MBytes (61 GB)
Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 52 Queue depth: 32
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 16
Advanced power management level: unknown setting (0x0000) Recommended acoustic management value: 128, current value: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=240ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* NOP cmd
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
Release interrupt
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
SMART feature set
* FLUSH CACHE EXT command
* Mandatory FLUSH CACHE command
* Device Configuration Overlay feature set
* 48-bit Address feature set
Automatic Acoustic Management feature set
SET MAX security extension
Address Offset Reserved Area Boot
SET FEATURES subcommand required to spinup after power up Power-Up In Standby feature set
Advanced Power Management feature set
* READ/WRITE DMA QUEUED
* General Purpose Logging feature set
* SMART self-test
* SMART error logging
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
30min for SECURITY ERASE UNIT.
HW reset results:
CBLID- above Vih
Device num = 0 determined by the jumper
Checksum: correct
/dev/hdh:
ATA device, with non-removable media
Model Number: ST3200822A Serial Number: 3LJ22Y8F Firmware Revision: 3.01 Standards: Used: ATA/ATAPI-6 T13 1410D revision 2 Supported: 6 5 4 3 Configuration: Logical max current cylinders 16383 65535 heads 16 1 sectors/track 63 63 -- CHS current addressable sectors: 4128705 LBA user addressable sectors: 268435455 LBA48 user addressable sectors: 390721968 device size with M = 1024*1024: 190782 MBytes device size with M = 1000*1000: 200049 MBytes (200 GB)
Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 4 Queue depth: 1
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 16
Recommended acoustic management value: 128, current value: 0
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=240ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
* SMART feature set
* FLUSH CACHE EXT command
* Mandatory FLUSH CACHE command
* Device Configuration Overlay feature set
* 48-bit Address feature set
SET MAX security extension
* DOWNLOAD MICROCODE cmd
* SMART self-test
* SMART error logging
Security:
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
HW reset results:
CBLID- above Vih
Device num = 1 determined by CSEL
Checksum: correct
And lspci -vvv output is:
0000:00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR+ Latency: 64 Region 0: Memory at 44000000 (32-bit, prefetchable) [size=64M] Capabilities: [a0] AGP version 1.0 Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2 Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
0000:00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 Bus: primary=00, secondary=01, subordinate=01, sec-latency=32 I/O behind bridge: 0000f000-00000fff Memory behind bridge: 40000000-408fffff Prefetchable memory behind bridge: 41000000-41ffffff BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B+
0000:00:0d.0 Unknown mass storage controller: Promise Technology, Inc. PDC20267 (FastTrak100/Ultra100) (rev 02)
Subsystem: Promise Technology, Inc. Ultra100 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 Interrupt: pin A routed to IRQ 11 Region 0: I/O ports at 10f0 [size=8] Region 1: I/O ports at 1800 [size=4] Region 2: I/O ports at 10f8 [size=8] Region 3: I/O ports at 1804 [size=4] Region 4: I/O ports at 1080 [size=64] Region 5: Memory at 42000000 (32-bit, non-prefetchable) [size=128K] Capabilities: [58] Power Management version 1 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
0000:00:0e.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 30)
Subsystem: 3Com Corporation 3C905B Fast Etherlink XL 10/100
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (2500ns min, 2500ns max), Cache Line Size: 0x08 (32 bytes)
Interrupt: pin A routed to IRQ 10
Region 0: I/O ports at 1000 [size=128]
Region 1: Memory at 40900000 (32-bit, non-prefetchable) [size=128]
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
0000:00:0f.0 Ethernet controller: Lite-On Communications Inc LNE100TX (rev 20)
Subsystem: Netgear FA310TX
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 66
Interrupt: pin A routed to IRQ 9
Region 0: I/O ports at 1400 [size=256]
Region 1: Memory at 42100000 (32-bit, non-prefetchable) [size=256]
0000:00:14.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
0000:00:14.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01) (prog-if 80 [Master])
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 Region 4: I/O ports at 10c0 [size=16]
0000:00:14.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01) (prog-if 00 [UHCI])
Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Interrupt: pin D routed to IRQ 0
Region 4: I/O ports at 1820 [disabled] [size=32]
0000:00:14.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin ? routed to IRQ 9
0000:01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200 AGP (rev 01) (prog-if 00 [VGA])
Subsystem: Matrox Graphics, Inc. Millennium G200 AGP Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (4000ns min, 8000ns max), Cache Line Size: 0x08 (32 bytes) Interrupt: pin A routed to IRQ 9 Region 0: Memory at 41000000 (32-bit, prefetchable) [size=16M] Region 1: Memory at 40800000 (32-bit, non-prefetchable) [size=16K] Region 2: Memory at 40000000 (32-bit, non-prefetchable) [size=8M] Capabilities: [dc] Power Management version 1 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [f0] AGP version 1.0 Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2 Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
Signature · 1 line
Red herrings strewn hither and yon.
Re: PDC20267 bug and corruption (was: Re: [BK PATCHES] ide-2.6 update)
Quoted 20 lines · CaT
Quoted 1 line · Bartlomiej Zolnierkiewicz
Tried it via bk7, wasn't it.
Looks like I have found a bug relating to the pdc driver though.
The situation is such: I have 2 HDs connected to a PDC20267 PCI card, one on each channel, with a master on the primary channel and a slave on the secondry channel. Accessing each drive individually causes no problems at all but accessing them simultaneously (like copying data off one drive onto the other) causes the IDE layer to go to hell in a hand basket. I can duplicate this each and every time by doing the following:
1. copying a few gig from hde to hdh
2. dd if=/dev/hde of=/dev/null
dd if=/dev/zero of=/dev/hdhWith method #1 I get the following:
Quoted 7 lines
Oct 27 00:37:39 nessie kernel: attempt to access beyond end of device Oct 27 00:37:39 nessie kernel: hdh1: rw=1, want=3034756264, limit=390716802 Oct 27 00:37:40 nessie kernel: Aborting journal on device hdh1. Oct 27 00:37:40 nessie kernel: ext3_abort called. Oct 27 00:37:40 nessie kernel: EXT3-fs error (device hdh1): ext3_journal_start: Detected aborted journal Oct 27 00:37:40 nessie kernel: Remounting filesystem read-only Oct 27 00:37:40 nessie kernel: EXT3-fs error (device hdh1) in start_transaction: Journal has aborted
This comes from the block layer, generic_make_request(), request is screwed up before it hits IDE layer.
Quoted 4 lines
With method #2, a whole lot more fun occurs. The logfile I have is big (almost 400k) so I've compressed it and included it as an attachment. This is with kernel 2.6.10-rc1-bk7 (no logs survived from me testing this with rc1-mm2).
Indeed, this is a lot more fun. ;)
Is this bug new/old?
Is it pdc202xx_old specific? Does the same havoc happen if you connect drives to the on-board Intel IDE controller?
Please post /proc identify data for both drives and PCI config space dump for PDC20267 so someone can verify them.
Re: PDC20267 bug and corruption (was: Re: [BK PATCHES] ide-2.6 update)
Quoted 3 lines · Bartlomiej Zolnierkiewicz
Quoted 2 lines · CaT
2. dd if=/dev/hde of=/dev/null
dd if=/dev/zero of=/dev/hdh
...
Quoted 6 lines
Quoted 4 lines
With method #2, a whole lot more fun occurs. The logfile I have is big (almost 400k) so I've compressed it and included it as an attachment. This is with kernel 2.6.10-rc1-bk7 (no logs survived from me testing this with rc1-mm2).
Indeed, this is a lot more fun. ;)
:)
Quoted 1 line
Is this bug new/old?
old.
Quoted 1 line
Is it
pdc202xx_oldspecific? Does the same havoc happen
Can I use new with the 20267? According to config help and the source code I looked at the 20267 is not listed as one of the devices for new.
Quoted 1 line
if you connect drives to the on-board Intel IDE controller?
I haven't tried that yet (mainly cos it's a bit of a pain - I have 3 devs connected to it, inc boot stuff - and i didn't know if it'd be really useful info) but I will if need be. Just shout.
I have tried going fron hdd to hdh but nothing bad happened. It's only when going from hde to hdh that fun occurs.
Quoted 1 line
Please post /proc identify data for both drives and PCI config
hde:
045a 3fff 37c8 0010 0000 0000 003f 0000 0000 0000 2020 2020 2020 564e 5642 3031 4732 5241 4b38 5848 0003 0e3b 0034 5632 324f 4136 3341 4943 3335 4c30 3630 4156 5632 3037 2d30 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 8010 0000 2f00 4000 0200 0200 0007 ffff 0001 003f ffc1 003e 0110 a120 0728 0000 0007 0003 0078 0078 00f0 0078 0000 0000 0000 0000 0000 0000 001f 0000 0000 0000 0000 007c 0019 74eb 7fea 4023 7468 3c02 4023 203f 000f 0000 0000 fffe 600b 80fe 0000 0000 0000 0000 0000 a120 0728 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 000b 0000 0000 0000 001b 0000 0000 4000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 8000 0000 424f 0000 0000 0182 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 74a5
hdh:
0c5a 3fff c837 0010 0000 0000 003f 0000 0000 0000 2020 2020 2020 2020 2020 2020 334c 4a32 3259 3846 0000 4000 0004 332e 3031 2020 2020 5354 3332 3030 3832 3241 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 8010 0000 2f00 4000 0200 0200 0007 ffff 0001 003f ffc1 003e 0110 ffff 0fff 0000 0007 0003 0078 0078 00f0 0078 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 007e 001b 346b 7d01 4003 3469 3c01 4003 203f 0000 0000 fefe 0000 6d00 8000 0000 0000 0000 0000 0000 f1b0 1749 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 f1b0 1749 f1b0 1749 2020 0002 42b6 0000 008a 3c06 3c0a 0000 07c6 0100 0800 10f0 1000 0002 0030 0000 0000 0000 fe06 0000 fe03 0000 0000 0000 0000 00e3 000b 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 d8a5
Quoted 1 line
space dump for PDC20267 so someone can verify them.
0000:00:0d.0 Unknown mass storage controller: Promise Technology, Inc. PDC20267 (FastTrak100/Ultra100) (rev 02) 00: 5a 10 30 4d 07 00 10 02 02 00 80 01 00 40 00 00
10: f1 10 00 00 01 18 00 00 f9 10 00 00 05 18 00 00
20: 81 10 00 00 00 00 00 42 00 00 00 00 5a 10 33 4d
30: 00 00 00 00 58 00 00 00 00 00 00 00 0b 01 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: ce 33 00 00 00 00 00 00 01 00 01 00 00 00 00 00
60: f1 24 41 00 c4 f3 4f 00 04 f3 4f 00 31 24 41 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Signature · 1 line
Red herrings strewn hither and yon.
Quoted 5 lines · Bartlomiej Zolnierkiewicz
Please do a
bk pull bk://bart.bkbits.net/ide-2.6This will update the following files:
Watch your mailer, it is wrapping lines...
See:
http://marc.theaimsgroup.com/?l=linux-ide&m=109888304706759&q=raw
and search for 'long data_size'.
--
J.A. Magallon <jamagallon()able!es> \ Software is like sex:
werewolf!able!es \ It's better when it's free
Mandrakelinux release 10.1 (Community) for i586
Linux 2.6.9-jam1 (gcc 3.4.1 (Mandrakelinux 10.1 3.4.1-4mdk)) #4
Quoted 6 lines · J.A. Magallon
Quoted 4 lines · Bartlomiej Zolnierkiewicz
Please do a
bk pull bk://bart.bkbits.net/ide-2.6
Quoted 8 lines
Quoted 1 line
This will update the following files:
Watch your mailer, it is wrapping lines...
See:http://marc.theaimsgroup.com/?l=linux-ide&m=109888304706759&q=raw
and search for 'long
data_size'.
thanks
bye, bye gmail
Quoted 8 lines · Bartlomiej Zolnierkiewicz
Please do a
bk pull bk://bart.bkbits.net/ide-2.6
This will update the following files:
drivers/ide/ide-disk.c| 1 +drivers/ide/ide-dma.c| 32
Even after fixing the 4 wrapped lines in the patch, I'm not going in cleanly here:
patching file drivers/ide/ide-dma.c
Hunk #1 FAILED at 681.
1 out of 1 hunk FAILED -- saving rejects to filedrivers/ide/ide-dma.c.rej
The first 'grep' line of the patch is found at an offset of about +180 lines in the original file.
The rest of it seems to have found a home, but at offsets in excess of 159 lines for a few of them.
This was against a 2.6.9 tree, and 2.6.9-mm1 failed in similar fashion. What src tree is this to be applied to?
Signature · 8 lines
Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) 99.28% setiathome rank, not too shabby for a WV hillbilly Yahoo.com attorneys please note, additions to this message by Gene Heskett are: Copyright 2004 by Maurice Eugene Heskett, all rights reserved.
Quoted 18 lines · Gene Heskett
Quoted 8 lines · Bartlomiej Zolnierkiewicz
Please do a
bk pull bk://bart.bkbits.net/ide-2.6
This will update the following files:
drivers/ide/ide-disk.c| 1 +drivers/ide/ide-dma.c| 32Even after fixing the 4 wrapped lines in the patch, I'm not going in cleanly here:
patching file
drivers/ide/ide-dma.c
Hunk #1 FAILED at 681.
1 out of 1 hunk FAILED -- saving rejects to filedrivers/ide/ide-dma.c.rej
Quoted 8 lines
The first 'grep' line of the patch is found at an offset of about +180 lines in the original file.
The rest of it seems to have found a home, but at offsets in excess of 159 lines for a few of them.
This was against a 2.6.9 tree, and 2.6.9-mm1 failed in similar fashion. What src tree is this to be applied to?
current linus' -bk tree, latest -bk snapshot should also be OK
Quoted 4 lines · Bartlomiej Zolnierkiewicz
On Wed, 27 Oct 2004 12:15:55 -0400, Gene Heskett
Quoted 1 line · <[email protected]> wrote:
On Wednesday 27 October 2004 09:07, Bartlomiej Zolnierkiewicz
Quoted 20 lines · wrote:
Quoted 20 lines
Quoted 8 lines
Please do a
bk pull bk://bart.bkbits.net/ide-2.6
This will update the following files:
drivers/ide/ide-disk.c| 1 +drivers/ide/ide-dma.c| 32Even after fixing the 4 wrapped lines in the patch, I'm not going in cleanly here:
patching file
drivers/ide/ide-dma.c
Hunk #1 FAILED at 681.
1 out of 1 hunk FAILED -- saving rejects to filedrivers/ide/ide-dma.c.rejThe first 'grep' line of the patch is found at an offset of about +180 lines in the original file.
Quoted 7 lines
Quoted 5 lines
The rest of it seems to have found a home, but at offsets in excess of 159 lines for a few of them.
This was against a 2.6.9 tree, and 2.6.9-mm1 failed in similar fashion. What src tree is this to be applied to?
current linus' -bk tree, latest -bk snapshot should also be OK
Drat. I can't afford bitkeeper, either the time or the resources. So I assume this will be in 2.6.10-rc2 or 3?
Signature · 8 lines
Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) 99.28% setiathome rank, not too shabby for a WV hillbilly Yahoo.com attorneys please note, additions to this message by Gene Heskett are: Copyright 2004 by Maurice Eugene Heskett, all rights reserved.
Quoted 31 lines · Gene Heskett
Quoted 4 lines · Bartlomiej Zolnierkiewicz
On Wed, 27 Oct 2004 12:15:55 -0400, Gene Heskett
Quoted 1 line · <[email protected]> wrote:
On Wednesday 27 October 2004 09:07, Bartlomiej Zolnierkiewicz
Quoted 23 lines · wrote:
Quoted 23 lines
Quoted 8 lines
Please do a
bk pull bk://bart.bkbits.net/ide-2.6
This will update the following files:
drivers/ide/ide-disk.c| 1 +drivers/ide/ide-dma.c| 32Even after fixing the 4 wrapped lines in the patch, I'm not going in cleanly here:
patching file
drivers/ide/ide-dma.c
Hunk #1 FAILED at 681.
1 out of 1 hunk FAILED -- saving rejects to filedrivers/ide/ide-dma.c.rejThe first 'grep' line of the patch is found at an offset of about +180 lines in the original file.
The rest of it seems to have found a home, but at offsets in excess of 159 lines for a few of them.
Quoted 7 lines
Quoted 4 lines
Quoted 2 lines
This was against a 2.6.9 tree, and 2.6.9-mm1 failed in similar fashion. What src tree is this to be applied to?
current linus' -bk tree, latest -bk snapshot should also be OK
Drat. I can't afford bitkeeper, either the time or the resources. So I assume this will be in 2.6.10-rc2 or 3?
I hope it will be in the next -bk snapshot...
Quoted 6 lines · Bartlomiej Zolnierkiewicz
Quoted 4 lines
On Wed, 27 Oct 2004 13:05:06 -0400, Gene Heskett
Drat. I can't afford bitkeeper, either the time or the resources. So I assume this will be in 2.6.10-rc2 or 3?
I hope it will be in the next -bk snapshot...
I just grabbed 2.6.10-rc1-bk6. Dated about 3 hours ago if the time zones are the same.
Thanks
Signature · 8 lines
Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) 99.28% setiathome rank, not too shabby for a WV hillbilly Yahoo.com attorneys please note, additions to this message by Gene Heskett are: Copyright 2004 by Maurice Eugene Heskett, all rights reserved.
Quoted 33 lines · Gene Heskett
Quoted 5 lines · Bartlomiej Zolnierkiewicz
On Wed, 27 Oct 2004 12:15:55 -0400, Gene Heskett
Quoted 1 line · <[email protected]> wrote:
On Wednesday 27 October 2004 09:07, Bartlomiej Zolnierkiewicz
Quoted 23 lines · wrote:
Quoted 23 lines
Quoted 8 lines
Please do a
bk pull bk://bart.bkbits.net/ide-2.6
This will update the following files:
drivers/ide/ide-disk.c| 1 +drivers/ide/ide-dma.c| 32Even after fixing the 4 wrapped lines in the patch, I'm not going in cleanly here:
patching file
drivers/ide/ide-dma.c
Hunk #1 FAILED at 681.
1 out of 1 hunk FAILED -- saving rejects to filedrivers/ide/ide-dma.c.rejThe first 'grep' line of the patch is found at an offset of about +180 lines in the original file.
The rest of it seems to have found a home, but at offsets in excess of 159 lines for a few of them.
Quoted 8 lines
Quoted 4 lines
Quoted 2 lines
This was against a 2.6.9 tree, and 2.6.9-mm1 failed in similar fashion. What src tree is this to be applied to?
current linus' -bk tree, latest -bk snapshot should also be OK
Drat. I can't afford bitkeeper, either the time or the resources. So I assume this will be in 2.6.10-rc2 or 3?
Gene,
BK isn't required. Just get the daily snapshot from
http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/
and apply it to 2.6.10-rc1 (or whatever is latest).
Signature · 3 lines
~Randy MOTD: Always include version info. (Again. Sometimes I think ln -s /usr/src/linux/.config .signature)
Quoted 5 lines · Randy.Dunlap
Gene,
BK isn't required. Just get the daily snapshot from
http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/
and apply it to 2.6.10-rc1 (or whatever is latest).
Ahh, thanks, done.
Signature · 8 lines
Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) 99.28% setiathome rank, not too shabby for a WV hillbilly Yahoo.com attorneys please note, additions to this message by Gene Heskett are: Copyright 2004 by Maurice Eugene Heskett, all rights reserved.
Quoted 5 lines · Gene Heskett
Quoted 2 lines
current linus' -bk tree, latest -bk snapshot should also be OK
Drat. I can't afford bitkeeper, either the time or the resources. So I assume this will be in 2.6.10-rc2 or 3?
You can also just do the the daily snapshots - in
/pub/linux/kernel/v2.6/snapshots.
But yes, I'm also pulling Bartlomiej's tree into the next release, so if you can wait..
Linus
Quoted 6 lines · Linus Torvalds
Quoted 4 lines · Gene Heskett
Quoted 1 line
current linus' -bk tree, latest -bk snapshot should also be OK
Drat. I can't afford bitkeeper, either the time or the resources. So I assume this will be in 2.6.10-rc2 or 3?
Quoted 7 lines
You can also just do the the daily snapshots - in
/pub/linux/kernel/v2.6/snapshots.But yes, I'm also pulling Bartlomiej's tree into the next release, so if you can wait..
Linus
I don't know for sure if I'm having a problem or not Linus, but I had to dl fc3rc1's iso's several times to get all good md5sums. Something was fscking things using mozilla-1.7.3... So I wrote a script to use wget for FC3rc2 & we'll see if that works in a few hours when its all here. On a slow (768/128) DSL, and trying to squeeze an extra character for email in from time to time.
Signature · 8 lines
Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) 99.28% setiathome rank, not too shabby for a WV hillbilly Yahoo.com attorneys please note, additions to this message by Gene Heskett are: Copyright 2004 by Maurice Eugene Heskett, all rights reserved.
Quoted 3 lines · Gene Heskett
I don't know for sure if I'm having a problem or not Linus, but I had to dl fc3rc1's iso's several times to get all good md5sums.
I don't think it was your side, I saw it too.
They seem to have replaced the test-rc ISO images in the middle or had some server trouble, so the md5sums simply didn't match originally.
Linus
Quoted 11 lines · Linus Torvalds
Quoted 2 lines · Gene Heskett
I don't know for sure if I'm having a problem or not Linus, but I had to dl fc3rc1's iso's several times to get all good md5sums.
I don't think it was your side, I saw it too.
They seem to have replaced the test-rc ISO images in the middle or had some server trouble, so the md5sums simply didn't match originally.
Linus
Good, so I'm not crazy after all, as someone on the fedora list accused me of yesterday when I went off topic, at length, responding to a political rant about the shrub and about freedoms in general. Thanks, I needed that. :)
Signature · 8 lines
Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) 99.28% setiathome rank, not too shabby for a WV hillbilly Yahoo.com attorneys please note, additions to this message by Gene Heskett are: Copyright 2004 by Maurice Eugene Heskett, all rights reserved.
Quoted 6 lines · Linus Torvalds
Quoted 4 lines · Gene Heskett
Quoted 1 line
current linus' -bk tree, latest -bk snapshot should also be OK
Drat. I can't afford bitkeeper, either the time or the resources. So I assume this will be in 2.6.10-rc2 or 3?
Quoted 7 lines
You can also just do the the daily snapshots - in
/pub/linux/kernel/v2.6/snapshots.But yes, I'm also pulling Bartlomiej's tree into the next release, so if you can wait..
Linus
I went after 2.6.10-rc1, and the bk6 patch for it, and its been running here for about 2 hours, no hits, no runs, no errors so far. I watched a little tvtime, browsed with FF for an hour or so, and of course kmail runs full time here. And amanda just finished up. It feels good, and Just Works(tm).
Signature · 8 lines
Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) 99.28% setiathome rank, not too shabby for a WV hillbilly Yahoo.com attorneys please note, additions to this message by Gene Heskett are: Copyright 2004 by Maurice Eugene Heskett, all rights reserved.