Re: Peculiar out-of-sync boot log lines

2007-12-23 Thread Nick Warne
On Sun, 2 Dec 2007 19:30:34 +0100
Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]> wrote:

Hi Bart,

Top posting! g.

This patch works fine on my system with this peculiar DVD drive, and
log reports are perfect.

Updated to Linus' git today - 2.6.24-rc6-g5b825ed2

/var/log/messages:

Dec 23 09:36:04 linuxamd kernel: ide0: BM-DMA at 0xd000-0xd007, BIOS 
settings: hda:DMA, hdb:DMA
Dec 23 09:36:04 linuxamd kernel: ide1: BM-DMA at 0xd008-0xd00f, BIOS 
settings: hdc:DMA, hdd:DMA
Dec 23 09:36:04 linuxamd kernel: hda: UDMA/66 mode selected
Dec 23 09:36:04 linuxamd kernel: hdb: UDMA/66 mode selected
Dec 23 09:36:04 linuxamd kernel: hdc: UDMA/66 mode selected
Dec 23 09:36:04 linuxamd kernel: hdd: UDMA/66 mode selected
Dec 23 09:36:04 linuxamd kernel: hda: max request size: 128KiB
Dec 23 09:36:04 linuxamd kernel: hda: 160086528 sectors (81964 MB) w/2048KiB 
Cache, CHS=65535/16/63
Dec 23 09:36:04 linuxamd kernel: hda: cache flushes supported
Dec 23 09:36:04 linuxamd kernel:  hda: hda1 hda2 hda3 hda4
Dec 23 09:36:04 linuxamd kernel: hdb: max request size: 128KiB
Dec 23 09:36:04 linuxamd kernel: hdb: 30015216 sectors (15367 MB) w/2048KiB 
Cache, CHS=29777/16/63
Dec 23 09:36:04 linuxamd kernel: hdb: cache flushes not supported
Dec 23 09:36:04 linuxamd kernel:  hdb: hdb1
Dec 23 09:36:04 linuxamd kernel: hdc: max request size: 128KiB
Dec 23 09:36:04 linuxamd kernel: hdc: 39876480 sectors (20416 MB) w/2048KiB 
Cache, CHS=39560/16/63
Dec 23 09:36:04 linuxamd kernel: hdc: cache flushes not supported
Dec 23 09:36:04 linuxamd kernel:  hdc: hdc1
Dec 23 09:36:04 linuxamd kernel: hdd: ATAPI 48X DVD-ROM DVD-R-RAM
CD-R/RW drive, 2048kB Cache

and

/var/log/syslog

Dec 23 09:36:04 linuxamd kernel: hdb: Maxtor 51536H2, ATA DISK drive
Dec 23 09:36:04 linuxamd kernel: hda: Maxtor 6Y080L0, ATA DISK drive
Dec 23 09:36:04 linuxamd kernel: hdd: TSSTcorp CDDVDW SH-S202J, ATAPI 
CD/DVD-ROM drive
Dec 23 09:36:04 linuxamd kernel: hdc: Maxtor 52049H3, ATA DISK drive


> On Sunday 02 December 2007, Randy Dunlap wrote:
> > On Sat, 1 Dec 2007 22:59:35 +0100 Bartlomiej Zolnierkiewicz wrote:
> > 
> > > Thanks for reporting/debugging it guys!
> > > 
> > > > Something in there needs to insert a '\n' before the "skipping
> > > > word" message. Since it doesn't do that right now, the
> > > > KERN_DEBUG string appears as "<7>"
> > > 
> > > This seems like a good occasion to fix ide_dma_verbose() for good
> > > so... :)
> > > 
> > > [ patch is against current Linus tree so might not apply to
> > > 2.6.23.9 ]
> > > 
> > > [PATCH] ide: DMA reporting and validity checking fixes
> > > 
> > > * ide_xfer_verbose() fixups:
> > >   - beautify returned mode names
> > >   - fix PIO5 reporting
> > >   - make it return 'const char *'
> > > 
> > > * Change printk() level from KERN_DEBUG to KERN_INFO in
> > > ide_find_dma_mode().
> > > 
> > > * Add ide_id_dma_bug() helper based on ide_dma_verbose() to check
> > > for invalid DMA info in identify block.
> > > 
> > > * Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().
> > > 
> > >   As a result DMA won't be tuned or will be disabled after tuning
> > > if device reports inconsistent info about enabled DMA mode
> > > (ide_dma_verbose() does the same checks while the IDE device is
> > > probed by ide-{cd,disk} device driver).
> > > 
> > > * Since (id->capability & 1) && id->tDMA is a valid configuration
> > > handle it correctly in ide_id_dma_bug().
> > > 
> > > * Remove no longer needed ide_dma_verbose().
> > > 
> > > This patch should fix the following problem with out-of-sync IDE
> > > messages reported by Nick Warned:
> > > 
> > >hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB
> > > Cache<7>hdd: skipping word 93 validity check
> > > , UDMA(66)
> > > 
> > > and later debugged by Mark Lord to be caused by:
> > > 
> > > ide_dma_verbose()
> > > printk( ... "2048kB Cache");
> > > eighty_ninty_three()
> > > printk(KERN_DEBUG "%s: skipping word 93 validity
> > > check\n"); ide_dma_verbose()
> > > printk(", UDMA(66)"
> > > 
> > > Please note that as a result ide-{cd,disk} device drivers won't
> > > report the DMA speed used but this is intended since now DMA mode
> > > being used is always reported by IDE core code.
> > > 
> > > Cc: Nick Warne <[EMAIL PROTECTED]>
> > > Cc: Mark Lord <[EMAIL PROTECTED]>
> > > Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>

~ skip

Nick
-- 
Free Software Foundation Associate Member 5508
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Peculiar out-of-sync boot log lines

2007-12-23 Thread Nick Warne
On Sun, 2 Dec 2007 19:30:34 +0100
Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] wrote:

Hi Bart,

Top posting! g.

This patch works fine on my system with this peculiar DVD drive, and
log reports are perfect.

Updated to Linus' git today - 2.6.24-rc6-g5b825ed2

/var/log/messages:

Dec 23 09:36:04 linuxamd kernel: ide0: BM-DMA at 0xd000-0xd007, BIOS 
settings: hda:DMA, hdb:DMA
Dec 23 09:36:04 linuxamd kernel: ide1: BM-DMA at 0xd008-0xd00f, BIOS 
settings: hdc:DMA, hdd:DMA
Dec 23 09:36:04 linuxamd kernel: hda: UDMA/66 mode selected
Dec 23 09:36:04 linuxamd kernel: hdb: UDMA/66 mode selected
Dec 23 09:36:04 linuxamd kernel: hdc: UDMA/66 mode selected
Dec 23 09:36:04 linuxamd kernel: hdd: UDMA/66 mode selected
Dec 23 09:36:04 linuxamd kernel: hda: max request size: 128KiB
Dec 23 09:36:04 linuxamd kernel: hda: 160086528 sectors (81964 MB) w/2048KiB 
Cache, CHS=65535/16/63
Dec 23 09:36:04 linuxamd kernel: hda: cache flushes supported
Dec 23 09:36:04 linuxamd kernel:  hda: hda1 hda2 hda3 hda4
Dec 23 09:36:04 linuxamd kernel: hdb: max request size: 128KiB
Dec 23 09:36:04 linuxamd kernel: hdb: 30015216 sectors (15367 MB) w/2048KiB 
Cache, CHS=29777/16/63
Dec 23 09:36:04 linuxamd kernel: hdb: cache flushes not supported
Dec 23 09:36:04 linuxamd kernel:  hdb: hdb1
Dec 23 09:36:04 linuxamd kernel: hdc: max request size: 128KiB
Dec 23 09:36:04 linuxamd kernel: hdc: 39876480 sectors (20416 MB) w/2048KiB 
Cache, CHS=39560/16/63
Dec 23 09:36:04 linuxamd kernel: hdc: cache flushes not supported
Dec 23 09:36:04 linuxamd kernel:  hdc: hdc1
Dec 23 09:36:04 linuxamd kernel: hdd: ATAPI 48X DVD-ROM DVD-R-RAM
CD-R/RW drive, 2048kB Cache

and

/var/log/syslog

Dec 23 09:36:04 linuxamd kernel: hdb: Maxtor 51536H2, ATA DISK drive
Dec 23 09:36:04 linuxamd kernel: hda: Maxtor 6Y080L0, ATA DISK drive
Dec 23 09:36:04 linuxamd kernel: hdd: TSSTcorp CDDVDW SH-S202J, ATAPI 
CD/DVD-ROM drive
Dec 23 09:36:04 linuxamd kernel: hdc: Maxtor 52049H3, ATA DISK drive


 On Sunday 02 December 2007, Randy Dunlap wrote:
  On Sat, 1 Dec 2007 22:59:35 +0100 Bartlomiej Zolnierkiewicz wrote:
  
   Thanks for reporting/debugging it guys!
   
Something in there needs to insert a '\n' before the skipping
word message. Since it doesn't do that right now, the
KERN_DEBUG string appears as 7
   
   This seems like a good occasion to fix ide_dma_verbose() for good
   so... :)
   
   [ patch is against current Linus tree so might not apply to
   2.6.23.9 ]
   
   [PATCH] ide: DMA reporting and validity checking fixes
   
   * ide_xfer_verbose() fixups:
 - beautify returned mode names
 - fix PIO5 reporting
 - make it return 'const char *'
   
   * Change printk() level from KERN_DEBUG to KERN_INFO in
   ide_find_dma_mode().
   
   * Add ide_id_dma_bug() helper based on ide_dma_verbose() to check
   for invalid DMA info in identify block.
   
   * Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().
   
 As a result DMA won't be tuned or will be disabled after tuning
   if device reports inconsistent info about enabled DMA mode
   (ide_dma_verbose() does the same checks while the IDE device is
   probed by ide-{cd,disk} device driver).
   
   * Since (id-capability  1)  id-tDMA is a valid configuration
   handle it correctly in ide_id_dma_bug().
   
   * Remove no longer needed ide_dma_verbose().
   
   This patch should fix the following problem with out-of-sync IDE
   messages reported by Nick Warned:
   
  hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB
   Cache7hdd: skipping word 93 validity check
   , UDMA(66)
   
   and later debugged by Mark Lord to be caused by:
   
   ide_dma_verbose()
   printk( ... 2048kB Cache);
   eighty_ninty_three()
   printk(KERN_DEBUG %s: skipping word 93 validity
   check\n); ide_dma_verbose()
   printk(, UDMA(66)
   
   Please note that as a result ide-{cd,disk} device drivers won't
   report the DMA speed used but this is intended since now DMA mode
   being used is always reported by IDE core code.
   
   Cc: Nick Warne [EMAIL PROTECTED]
   Cc: Mark Lord [EMAIL PROTECTED]
   Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]

~ skip

Nick
-- 
Free Software Foundation Associate Member 5508
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Peculiar out-of-sync boot log lines

2007-12-09 Thread Bartlomiej Zolnierkiewicz

Hi,

On Friday 07 December 2007, Sergei Shtylyov wrote:
> Hello.
> 
> Bartlomiej Zolnierkiewicz wrote:
> 
> > [PATCH] ide: DMA reporting and validity checking fixes (take 2)
> 
> > * ide_xfer_verbose() fixups:
> >   - beautify returned mode names
> >   - fix PIO5 reporting
> >   - make it return 'const char *'
> 
> > * Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode().
> 
> > * Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for 
> > invalid
> >   DMA info in identify block.
> 
> > * Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().
> 
> >   As a result DMA won't be tuned or will be disabled after tuning if device
> >   reports inconsistent info about enabled DMA mode (ide_dma_verbose() does 
> > the
> >   same checks while the IDE device is probed by ide-{cd,disk} device 
> > driver).
> 
> > * Since (id->capability & 1) && id->tDMA is a valid configuration handle
> >   it correctly in ide_id_dma_bug().
> 
> Huh? You don't check (id->capability & 1) there...
> 
> > * Remove no longer needed ide_dma_verbose().
> 
> > This patch should fix the following problem with out-of-sync IDE messages
> > reported by Nick Warne:
> 
> >hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache<7>hdd:
> >skipping word 93 validity check
> > , UDMA(66)
> 
> > and later debugged by Mark Lord to be caused by:
> 
> > ide_dma_verbose()
> > printk( ... "2048kB Cache");
> > eighty_ninty_three()
> > printk(KERN_DEBUG "%s: skipping word 93 validity check\n");
> > ide_dma_verbose()
> > printk(", UDMA(66)"
> 
> > Please note that as a result ide-{cd,disk} device drivers won't report the
> > DMA speed used but this is intended since now DMA mode being used is always
> > reported by IDE core code.
> 
> > v2:
> > * fixes suggested by Randy:
> >   - use KERN_CONT for printk()-s in ide-{cd,disk}.c
> >   - don't remove argument name from ide_xfer_verbose() declaration
> 
> > Cc: Nick Warne <[EMAIL PROTECTED]>
> > Cc: Mark Lord <[EMAIL PROTECTED]>
> > Cc: Randy Dunlap <[EMAIL PROTECTED]>
> > Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
> 
> [...]
> 
> > Index: b/drivers/ide/ide-dma.c
> > ===
> > --- a/drivers/ide/ide-dma.c
> > +++ b/drivers/ide/ide-dma.c
> > @@ -806,58 +809,26 @@ static int ide_dma_check(ide_drive_t *dr
> > return vdma ? 0 : -1;
> >  }
> >  
> > -void ide_dma_verbose(ide_drive_t *drive)
> > +int ide_id_dma_bug(ide_drive_t *drive)
> >  {
> > -   struct hd_driveid *id   = drive->id;
> > -   ide_hwif_t *hwif= HWIF(drive);
> > +   struct hd_driveid *id = drive->id;
> >  
> > if (id->field_valid & 4) {
> > if ((id->dma_ultra >> 8) && (id->dma_mword >> 8))
> [...]
> > +   goto err_out;
> > } else if (id->field_valid & 2) {
> > if ((id->dma_mword >> 8) && (id->dma_1word >> 8))
> > -   goto bug_dma_off;
> > -   printk(", DMA");
> > +   goto err_out;
> > } else if (id->field_valid & 1) {
> 
> Hm, bit 0 only gurantees that current translation
> 
> > -   goto bug_dma_off;
> > +   if (id->tDMA == 0)
> 
> Despite the name, this is not a transfer period but SW DMA mode number, 
> so 
> why mode 0 is bad?

Thanks for checking the patch, I must have been half asleep while coding
this part cause it is completely bogus!

[ Well, it is not like that the code was OK before my changes... ;-) ]

I just removed incorrect (id->field_valid & 1) check in 'take 3'.

> > +   goto err_out;
> > }
> > -   return;
> > -bug_dma_off:
> > -   printk(", BUG DMA OFF");
> > -   hwif->dma_off_quietly(drive);
> > -   return;
> > +   return 0;
> > +err_out:
> > +   printk(KERN_ERR "%s: bad DMA info in identify block\n", drive->name);
> > +   return 1;
> >  }
> >  
> > Index: b/drivers/ide/ide-lib.c
> > ===
> > --- a/drivers/ide/ide-lib.c
> > +++ b/drivers/ide/ide-lib.c
> > @@ -29,41 +29,44 @@
> >   * Add common non I/O op stuff here. Make sure it has proper
> >   * kernel-doc function headers or your patch will be rejected
> >   */
> > - 
> > +
> > +static const char *udma_str[] =
> > +{ "UDMA/16", "UDMA/25",  "UDMA/33",  "UDMA/44",
> > +  "UDMA/66", "UDMA/100", "UDMA/133", "UDMA7" };
> > +static const char *mwdma_str[] =
> > +   { "MWDMA0", "MWDMA1", "MWDMA2" };
> > +static const char *swdma_str[] =
> > +   { "SWDMA0", "SWDMA1", "SWDMA2" };
> > +static const char *pio_str[] =
> > +   { "PIO0", "PIO1", "PIO2", "PIO3", "PIO4", "PIO5" };
> >  
> >  /**
> >   * ide_xfer_verbose-   return IDE mode names
> > - * @xfer_rate: rate to name
> > + * @mode: transfer mode
> >   *
> >   * Returns a constant string giving the name of the mode
> >   * requested.
> >   */
> >  
> > -char *ide_xfer_verbose (u8 

Re: Peculiar out-of-sync boot log lines

2007-12-09 Thread Bartlomiej Zolnierkiewicz

Hi,

On Friday 07 December 2007, Sergei Shtylyov wrote:
 Hello.
 
 Bartlomiej Zolnierkiewicz wrote:
 
  [PATCH] ide: DMA reporting and validity checking fixes (take 2)
 
  * ide_xfer_verbose() fixups:
- beautify returned mode names
- fix PIO5 reporting
- make it return 'const char *'
 
  * Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode().
 
  * Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for 
  invalid
DMA info in identify block.
 
  * Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().
 
As a result DMA won't be tuned or will be disabled after tuning if device
reports inconsistent info about enabled DMA mode (ide_dma_verbose() does 
  the
same checks while the IDE device is probed by ide-{cd,disk} device 
  driver).
 
  * Since (id-capability  1)  id-tDMA is a valid configuration handle
it correctly in ide_id_dma_bug().
 
 Huh? You don't check (id-capability  1) there...
 
  * Remove no longer needed ide_dma_verbose().
 
  This patch should fix the following problem with out-of-sync IDE messages
  reported by Nick Warne:
 
 hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache7hdd:
 skipping word 93 validity check
  , UDMA(66)
 
  and later debugged by Mark Lord to be caused by:
 
  ide_dma_verbose()
  printk( ... 2048kB Cache);
  eighty_ninty_three()
  printk(KERN_DEBUG %s: skipping word 93 validity check\n);
  ide_dma_verbose()
  printk(, UDMA(66)
 
  Please note that as a result ide-{cd,disk} device drivers won't report the
  DMA speed used but this is intended since now DMA mode being used is always
  reported by IDE core code.
 
  v2:
  * fixes suggested by Randy:
- use KERN_CONT for printk()-s in ide-{cd,disk}.c
- don't remove argument name from ide_xfer_verbose() declaration
 
  Cc: Nick Warne [EMAIL PROTECTED]
  Cc: Mark Lord [EMAIL PROTECTED]
  Cc: Randy Dunlap [EMAIL PROTECTED]
  Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
 
 [...]
 
  Index: b/drivers/ide/ide-dma.c
  ===
  --- a/drivers/ide/ide-dma.c
  +++ b/drivers/ide/ide-dma.c
  @@ -806,58 +809,26 @@ static int ide_dma_check(ide_drive_t *dr
  return vdma ? 0 : -1;
   }
   
  -void ide_dma_verbose(ide_drive_t *drive)
  +int ide_id_dma_bug(ide_drive_t *drive)
   {
  -   struct hd_driveid *id   = drive-id;
  -   ide_hwif_t *hwif= HWIF(drive);
  +   struct hd_driveid *id = drive-id;
   
  if (id-field_valid  4) {
  if ((id-dma_ultra  8)  (id-dma_mword  8))
 [...]
  +   goto err_out;
  } else if (id-field_valid  2) {
  if ((id-dma_mword  8)  (id-dma_1word  8))
  -   goto bug_dma_off;
  -   printk(, DMA);
  +   goto err_out;
  } else if (id-field_valid  1) {
 
 Hm, bit 0 only gurantees that current translation
 
  -   goto bug_dma_off;
  +   if (id-tDMA == 0)
 
 Despite the name, this is not a transfer period but SW DMA mode number, 
 so 
 why mode 0 is bad?

Thanks for checking the patch, I must have been half asleep while coding
this part cause it is completely bogus!

[ Well, it is not like that the code was OK before my changes... ;-) ]

I just removed incorrect (id-field_valid  1) check in 'take 3'.

  +   goto err_out;
  }
  -   return;
  -bug_dma_off:
  -   printk(, BUG DMA OFF);
  -   hwif-dma_off_quietly(drive);
  -   return;
  +   return 0;
  +err_out:
  +   printk(KERN_ERR %s: bad DMA info in identify block\n, drive-name);
  +   return 1;
   }
   
  Index: b/drivers/ide/ide-lib.c
  ===
  --- a/drivers/ide/ide-lib.c
  +++ b/drivers/ide/ide-lib.c
  @@ -29,41 +29,44 @@
* Add common non I/O op stuff here. Make sure it has proper
* kernel-doc function headers or your patch will be rejected
*/
  - 
  +
  +static const char *udma_str[] =
  +{ UDMA/16, UDMA/25,  UDMA/33,  UDMA/44,
  +  UDMA/66, UDMA/100, UDMA/133, UDMA7 };
  +static const char *mwdma_str[] =
  +   { MWDMA0, MWDMA1, MWDMA2 };
  +static const char *swdma_str[] =
  +   { SWDMA0, SWDMA1, SWDMA2 };
  +static const char *pio_str[] =
  +   { PIO0, PIO1, PIO2, PIO3, PIO4, PIO5 };
   
   /**
* ide_xfer_verbose-   return IDE mode names
  - * @xfer_rate: rate to name
  + * @mode: transfer mode
*
* Returns a constant string giving the name of the mode
* requested.
*/
   
  -char *ide_xfer_verbose (u8 xfer_rate)
  +const char *ide_xfer_verbose(u8 mode)
   {
 [...]
  +   const char *s;
  +   u8 i = mode  0xf;
  +
  +   if (mode = XFER_UDMA_0  mode = XFER_UDMA_7)
  +   s = udma_str[i];
  +   else if (mode = XFER_MW_DMA_0  mode = XFER_MW_DMA_2)
  +   s = mwdma_str[i];
  +   else if (mode = XFER_SW_DMA_0  mode = XFER_SW_DMA_2)
  +  

Re: Peculiar out-of-sync boot log lines

2007-12-07 Thread Sergei Shtylyov

Hello.

Bartlomiej Zolnierkiewicz wrote:


[PATCH] ide: DMA reporting and validity checking fixes (take 2)



* ide_xfer_verbose() fixups:
  - beautify returned mode names
  - fix PIO5 reporting
  - make it return 'const char *'



* Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode().



* Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for invalid
  DMA info in identify block.



* Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().



  As a result DMA won't be tuned or will be disabled after tuning if device
  reports inconsistent info about enabled DMA mode (ide_dma_verbose() does the
  same checks while the IDE device is probed by ide-{cd,disk} device driver).



* Since (id->capability & 1) && id->tDMA is a valid configuration handle
  it correctly in ide_id_dma_bug().


   Huh? You don't check (id->capability & 1) there...


* Remove no longer needed ide_dma_verbose().



This patch should fix the following problem with out-of-sync IDE messages
reported by Nick Warne:



   hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache<7>hdd:
   skipping word 93 validity check
, UDMA(66)



and later debugged by Mark Lord to be caused by:



ide_dma_verbose()
printk( ... "2048kB Cache");
eighty_ninty_three()
printk(KERN_DEBUG "%s: skipping word 93 validity check\n");
ide_dma_verbose()
printk(", UDMA(66)"



Please note that as a result ide-{cd,disk} device drivers won't report the
DMA speed used but this is intended since now DMA mode being used is always
reported by IDE core code.



v2:
* fixes suggested by Randy:
  - use KERN_CONT for printk()-s in ide-{cd,disk}.c
  - don't remove argument name from ide_xfer_verbose() declaration



Cc: Nick Warne <[EMAIL PROTECTED]>
Cc: Mark Lord <[EMAIL PROTECTED]>
Cc: Randy Dunlap <[EMAIL PROTECTED]>
Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>


[...]


Index: b/drivers/ide/ide-dma.c
===
--- a/drivers/ide/ide-dma.c
+++ b/drivers/ide/ide-dma.c
@@ -806,58 +809,26 @@ static int ide_dma_check(ide_drive_t *dr
return vdma ? 0 : -1;
 }
 
-void ide_dma_verbose(ide_drive_t *drive)

+int ide_id_dma_bug(ide_drive_t *drive)
 {
-   struct hd_driveid *id   = drive->id;
-   ide_hwif_t *hwif= HWIF(drive);
+   struct hd_driveid *id = drive->id;
 
 	if (id->field_valid & 4) {

if ((id->dma_ultra >> 8) && (id->dma_mword >> 8))

[...]

+   goto err_out;
} else if (id->field_valid & 2) {
if ((id->dma_mword >> 8) && (id->dma_1word >> 8))
-   goto bug_dma_off;
-   printk(", DMA");
+   goto err_out;
} else if (id->field_valid & 1) {


   Hm, bit 0 only gurantees that current translation


-   goto bug_dma_off;
+   if (id->tDMA == 0)


   Despite the name, this is not a transfer period but SW DMA mode number, so 
why mode 0 is bad?



+   goto err_out;
}
-   return;
-bug_dma_off:
-   printk(", BUG DMA OFF");
-   hwif->dma_off_quietly(drive);
-   return;
+   return 0;
+err_out:
+   printk(KERN_ERR "%s: bad DMA info in identify block\n", drive->name);
+   return 1;
 }
 
Index: b/drivers/ide/ide-lib.c

===
--- a/drivers/ide/ide-lib.c
+++ b/drivers/ide/ide-lib.c
@@ -29,41 +29,44 @@
  * Add common non I/O op stuff here. Make sure it has proper
  * kernel-doc function headers or your patch will be rejected
  */
- 
+

+static const char *udma_str[] =
+{ "UDMA/16", "UDMA/25",  "UDMA/33",  "UDMA/44",
+  "UDMA/66", "UDMA/100", "UDMA/133", "UDMA7" };
+static const char *mwdma_str[] =
+   { "MWDMA0", "MWDMA1", "MWDMA2" };
+static const char *swdma_str[] =
+   { "SWDMA0", "SWDMA1", "SWDMA2" };
+static const char *pio_str[] =
+   { "PIO0", "PIO1", "PIO2", "PIO3", "PIO4", "PIO5" };
 
 /**

  * ide_xfer_verbose-   return IDE mode names
- * @xfer_rate: rate to name
+ * @mode: transfer mode
  *
  * Returns a constant string giving the name of the mode
  * requested.
  */
 
-char *ide_xfer_verbose (u8 xfer_rate)

+const char *ide_xfer_verbose(u8 mode)
 {

[...]

+   const char *s;
+   u8 i = mode & 0xf;
+
+   if (mode >= XFER_UDMA_0 && mode <= XFER_UDMA_7)
+   s = udma_str[i];
+   else if (mode >= XFER_MW_DMA_0 && mode <= XFER_MW_DMA_2)
+   s = mwdma_str[i];
+   else if (mode >= XFER_SW_DMA_0 && mode <= XFER_SW_DMA_2)
+   s = swdma_str[i];
+   else if (mode >= XFER_PIO_0 && mode <= XFER_PIO_5)
+   s = pio_str[i & 0x7];
+   else if (mode == XFER_PIO_SLOW)
+   s = "XFER SLOW";


   Not "PIO SLOW"?


+   else
+   s = "XFER ERROR";
+
+ 

Re: Peculiar out-of-sync boot log lines

2007-12-07 Thread Sergei Shtylyov

Hello.

Bartlomiej Zolnierkiewicz wrote:


[PATCH] ide: DMA reporting and validity checking fixes (take 2)



* ide_xfer_verbose() fixups:
  - beautify returned mode names
  - fix PIO5 reporting
  - make it return 'const char *'



* Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode().



* Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for invalid
  DMA info in identify block.



* Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().



  As a result DMA won't be tuned or will be disabled after tuning if device
  reports inconsistent info about enabled DMA mode (ide_dma_verbose() does the
  same checks while the IDE device is probed by ide-{cd,disk} device driver).



* Since (id-capability  1)  id-tDMA is a valid configuration handle
  it correctly in ide_id_dma_bug().


   Huh? You don't check (id-capability  1) there...


* Remove no longer needed ide_dma_verbose().



This patch should fix the following problem with out-of-sync IDE messages
reported by Nick Warne:



   hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache7hdd:
   skipping word 93 validity check
, UDMA(66)



and later debugged by Mark Lord to be caused by:



ide_dma_verbose()
printk( ... 2048kB Cache);
eighty_ninty_three()
printk(KERN_DEBUG %s: skipping word 93 validity check\n);
ide_dma_verbose()
printk(, UDMA(66)



Please note that as a result ide-{cd,disk} device drivers won't report the
DMA speed used but this is intended since now DMA mode being used is always
reported by IDE core code.



v2:
* fixes suggested by Randy:
  - use KERN_CONT for printk()-s in ide-{cd,disk}.c
  - don't remove argument name from ide_xfer_verbose() declaration



Cc: Nick Warne [EMAIL PROTECTED]
Cc: Mark Lord [EMAIL PROTECTED]
Cc: Randy Dunlap [EMAIL PROTECTED]
Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]


[...]


Index: b/drivers/ide/ide-dma.c
===
--- a/drivers/ide/ide-dma.c
+++ b/drivers/ide/ide-dma.c
@@ -806,58 +809,26 @@ static int ide_dma_check(ide_drive_t *dr
return vdma ? 0 : -1;
 }
 
-void ide_dma_verbose(ide_drive_t *drive)

+int ide_id_dma_bug(ide_drive_t *drive)
 {
-   struct hd_driveid *id   = drive-id;
-   ide_hwif_t *hwif= HWIF(drive);
+   struct hd_driveid *id = drive-id;
 
 	if (id-field_valid  4) {

if ((id-dma_ultra  8)  (id-dma_mword  8))

[...]

+   goto err_out;
} else if (id-field_valid  2) {
if ((id-dma_mword  8)  (id-dma_1word  8))
-   goto bug_dma_off;
-   printk(, DMA);
+   goto err_out;
} else if (id-field_valid  1) {


   Hm, bit 0 only gurantees that current translation


-   goto bug_dma_off;
+   if (id-tDMA == 0)


   Despite the name, this is not a transfer period but SW DMA mode number, so 
why mode 0 is bad?



+   goto err_out;
}
-   return;
-bug_dma_off:
-   printk(, BUG DMA OFF);
-   hwif-dma_off_quietly(drive);
-   return;
+   return 0;
+err_out:
+   printk(KERN_ERR %s: bad DMA info in identify block\n, drive-name);
+   return 1;
 }
 
Index: b/drivers/ide/ide-lib.c

===
--- a/drivers/ide/ide-lib.c
+++ b/drivers/ide/ide-lib.c
@@ -29,41 +29,44 @@
  * Add common non I/O op stuff here. Make sure it has proper
  * kernel-doc function headers or your patch will be rejected
  */
- 
+

+static const char *udma_str[] =
+{ UDMA/16, UDMA/25,  UDMA/33,  UDMA/44,
+  UDMA/66, UDMA/100, UDMA/133, UDMA7 };
+static const char *mwdma_str[] =
+   { MWDMA0, MWDMA1, MWDMA2 };
+static const char *swdma_str[] =
+   { SWDMA0, SWDMA1, SWDMA2 };
+static const char *pio_str[] =
+   { PIO0, PIO1, PIO2, PIO3, PIO4, PIO5 };
 
 /**

  * ide_xfer_verbose-   return IDE mode names
- * @xfer_rate: rate to name
+ * @mode: transfer mode
  *
  * Returns a constant string giving the name of the mode
  * requested.
  */
 
-char *ide_xfer_verbose (u8 xfer_rate)

+const char *ide_xfer_verbose(u8 mode)
 {

[...]

+   const char *s;
+   u8 i = mode  0xf;
+
+   if (mode = XFER_UDMA_0  mode = XFER_UDMA_7)
+   s = udma_str[i];
+   else if (mode = XFER_MW_DMA_0  mode = XFER_MW_DMA_2)
+   s = mwdma_str[i];
+   else if (mode = XFER_SW_DMA_0  mode = XFER_SW_DMA_2)
+   s = swdma_str[i];
+   else if (mode = XFER_PIO_0  mode = XFER_PIO_5)
+   s = pio_str[i  0x7];
+   else if (mode == XFER_PIO_SLOW)
+   s = XFER SLOW;


   Not PIO SLOW?


+   else
+   s = XFER ERROR;
+
+   return s;
 }


MBR, Sergei
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body 

Re: Peculiar out-of-sync boot log lines

2007-12-02 Thread Bartlomiej Zolnierkiewicz
On Sunday 02 December 2007, Nick Warne wrote:
> On Sat, 1 Dec 2007 22:59:35 +0100
> Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]> wrote:
> 
>  
> > Thanks for reporting/debugging it guys!
> > 
> > > Something in there needs to insert a '\n' before the "skipping
> > > word" message. Since it doesn't do that right now, the KERN_DEBUG
> > > string appears as "<7>"
> > 
> > This seems like a good occasion to fix ide_dma_verbose() for good
> > so... :)
>  
> > This patch should fix the following problem with out-of-sync IDE
> > messages reported by Nick Warned:
> ...

Sorry for that, I fixed it in "take 2" of the patch.

> I was only reporting it... not warning anybody ;-)

Hehe... :-)

Bart
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Peculiar out-of-sync boot log lines

2007-12-02 Thread Bartlomiej Zolnierkiewicz
On Sunday 02 December 2007, Randy Dunlap wrote:
> On Sat, 1 Dec 2007 22:59:35 +0100 Bartlomiej Zolnierkiewicz wrote:
> 
> > Thanks for reporting/debugging it guys!
> > 
> > > Something in there needs to insert a '\n' before the "skipping word" 
> > > message.
> > > Since it doesn't do that right now, the KERN_DEBUG string appears as "<7>"
> > 
> > This seems like a good occasion to fix ide_dma_verbose() for good so... :)
> > 
> > [ patch is against current Linus tree so might not apply to 2.6.23.9 ]
> > 
> > [PATCH] ide: DMA reporting and validity checking fixes
> > 
> > * ide_xfer_verbose() fixups:
> >   - beautify returned mode names
> >   - fix PIO5 reporting
> >   - make it return 'const char *'
> > 
> > * Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode().
> > 
> > * Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for 
> > invalid
> >   DMA info in identify block.
> > 
> > * Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().
> > 
> >   As a result DMA won't be tuned or will be disabled after tuning if device
> >   reports inconsistent info about enabled DMA mode (ide_dma_verbose() does 
> > the
> >   same checks while the IDE device is probed by ide-{cd,disk} device 
> > driver).
> > 
> > * Since (id->capability & 1) && id->tDMA is a valid configuration handle
> >   it correctly in ide_id_dma_bug().
> > 
> > * Remove no longer needed ide_dma_verbose().
> > 
> > This patch should fix the following problem with out-of-sync IDE messages
> > reported by Nick Warned:
> > 
> >hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache<7>hdd:
> >skipping word 93 validity check
> > , UDMA(66)
> > 
> > and later debugged by Mark Lord to be caused by:
> > 
> > ide_dma_verbose()
> > printk( ... "2048kB Cache");
> > eighty_ninty_three()
> > printk(KERN_DEBUG "%s: skipping word 93 validity check\n");
> > ide_dma_verbose()
> > printk(", UDMA(66)"
> > 
> > Please note that as a result ide-{cd,disk} device drivers won't report the
> > DMA speed used but this is intended since now DMA mode being used is always
> > reported by IDE core code.
> > 
> > Cc: Nick Warne <[EMAIL PROTECTED]>
> > Cc: Mark Lord <[EMAIL PROTECTED]>
> > Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
> > ---
> >  drivers/ide/ide-cd.c   |7 --
> >  drivers/ide/ide-disk.c |5 
> >  drivers/ide/ide-dma.c  |   57 
> > -
> >  drivers/ide/ide-iops.c |3 ++
> >  drivers/ide/ide-lib.c  |   55 
> > ---
> >  include/linux/ide.h|6 ++---
> >  6 files changed, 51 insertions(+), 82 deletions(-)
> > 
> > Index: b/drivers/ide/ide-cd.c
> > ===
> > --- a/drivers/ide/ide-cd.c
> > +++ b/drivers/ide/ide-cd.c
> > @@ -3049,12 +3049,7 @@ int ide_cdrom_probe_capabilities (ide_dr
> >  else   
> > printk(" drive");
> >  
> > -   printk(", %dkB Cache", be16_to_cpu(cap.buffer_size));
> > -
> > -   if (drive->using_dma)
> > -   ide_dma_verbose(drive);
> > -
> > -   printk("\n");
> > +   printk(", %dkB Cache\n", be16_to_cpu(cap.buffer_size));
> 
> Use
>   printk(KERN_CONT ...
> so that someone won't try to add another KERN_* facility level to it.
> (same for other continued printk calls in this patch)

good idea, fixed

[ I keep forgetting that there is KERN_CONT... ]

> >  
> > return nslots;
> >  }
> > Index: b/drivers/ide/ide-disk.c
> > ===
> > --- a/drivers/ide/ide-disk.c
> > +++ b/drivers/ide/ide-disk.c
> > @@ -961,11 +961,8 @@ static void idedisk_setup (ide_drive_t *
> > if (id->buf_size)
> > printk (" w/%dKiB Cache", id->buf_size/2);
> >  
> > -   printk(", CHS=%d/%d/%d", 
> > +   printk(", CHS=%d/%d/%d\n",
> 
> Ditto.

fixed

> >drive->bios_cyl, drive->bios_head, drive->bios_sect);
> > -   if (drive->using_dma)
> > -   ide_dma_verbose(drive);
> > -   printk("\n");
> >  
> > /* write cache enabled? */
> > if ((id->csfo & 1) || (id->cfs_enable_1 & (1 << 5)))
> 
> > Index: b/include/linux/ide.h
> > ===
> > --- a/include/linux/ide.h
> > +++ b/include/linux/ide.h
> 
> > @@ -1333,8 +1334,7 @@ static inline void ide_set_hwifdata (ide
> > hwif->hwif_data = data;
> >  }
> >  
> > -/* ide-lib.c */
> > -extern char *ide_xfer_verbose(u8 xfer_rate);
> > +const char *ide_xfer_verbose(u8);
> >  extern void ide_toggle_bounce(ide_drive_t *drive, int on);
> >  extern int ide_set_xfer_rate(ide_drive_t *drive, u8 rate);
> 
> Ideally function prototypes would include variable names, not just
> types, as a helpful hint to readers of them.

fixed

Thanks Randy!

[PATCH] ide: DMA reporting and validity checking fixes (take 2)

* 

Re: Peculiar out-of-sync boot log lines

2007-12-02 Thread Nick Warne
On Sat, 1 Dec 2007 22:59:35 +0100
Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]> wrote:

 
> Thanks for reporting/debugging it guys!
> 
> > Something in there needs to insert a '\n' before the "skipping
> > word" message. Since it doesn't do that right now, the KERN_DEBUG
> > string appears as "<7>"
> 
> This seems like a good occasion to fix ide_dma_verbose() for good
> so... :)
 
> This patch should fix the following problem with out-of-sync IDE
> messages reported by Nick Warned:
...

I was only reporting it... not warning anybody ;-)

Nick
-- 
Free Software Foundation Associate Member 5508
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Peculiar out-of-sync boot log lines

2007-12-02 Thread Nick Warne
On Sat, 1 Dec 2007 22:59:35 +0100
Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] wrote:

 
 Thanks for reporting/debugging it guys!
 
  Something in there needs to insert a '\n' before the skipping
  word message. Since it doesn't do that right now, the KERN_DEBUG
  string appears as 7
 
 This seems like a good occasion to fix ide_dma_verbose() for good
 so... :)
 
 This patch should fix the following problem with out-of-sync IDE
 messages reported by Nick Warned:
...

I was only reporting it... not warning anybody ;-)

Nick
-- 
Free Software Foundation Associate Member 5508
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Peculiar out-of-sync boot log lines

2007-12-02 Thread Bartlomiej Zolnierkiewicz
On Sunday 02 December 2007, Randy Dunlap wrote:
 On Sat, 1 Dec 2007 22:59:35 +0100 Bartlomiej Zolnierkiewicz wrote:
 
  Thanks for reporting/debugging it guys!
  
   Something in there needs to insert a '\n' before the skipping word 
   message.
   Since it doesn't do that right now, the KERN_DEBUG string appears as 7
  
  This seems like a good occasion to fix ide_dma_verbose() for good so... :)
  
  [ patch is against current Linus tree so might not apply to 2.6.23.9 ]
  
  [PATCH] ide: DMA reporting and validity checking fixes
  
  * ide_xfer_verbose() fixups:
- beautify returned mode names
- fix PIO5 reporting
- make it return 'const char *'
  
  * Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode().
  
  * Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for 
  invalid
DMA info in identify block.
  
  * Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().
  
As a result DMA won't be tuned or will be disabled after tuning if device
reports inconsistent info about enabled DMA mode (ide_dma_verbose() does 
  the
same checks while the IDE device is probed by ide-{cd,disk} device 
  driver).
  
  * Since (id-capability  1)  id-tDMA is a valid configuration handle
it correctly in ide_id_dma_bug().
  
  * Remove no longer needed ide_dma_verbose().
  
  This patch should fix the following problem with out-of-sync IDE messages
  reported by Nick Warned:
  
 hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache7hdd:
 skipping word 93 validity check
  , UDMA(66)
  
  and later debugged by Mark Lord to be caused by:
  
  ide_dma_verbose()
  printk( ... 2048kB Cache);
  eighty_ninty_three()
  printk(KERN_DEBUG %s: skipping word 93 validity check\n);
  ide_dma_verbose()
  printk(, UDMA(66)
  
  Please note that as a result ide-{cd,disk} device drivers won't report the
  DMA speed used but this is intended since now DMA mode being used is always
  reported by IDE core code.
  
  Cc: Nick Warne [EMAIL PROTECTED]
  Cc: Mark Lord [EMAIL PROTECTED]
  Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
  ---
   drivers/ide/ide-cd.c   |7 --
   drivers/ide/ide-disk.c |5 
   drivers/ide/ide-dma.c  |   57 
  -
   drivers/ide/ide-iops.c |3 ++
   drivers/ide/ide-lib.c  |   55 
  ---
   include/linux/ide.h|6 ++---
   6 files changed, 51 insertions(+), 82 deletions(-)
  
  Index: b/drivers/ide/ide-cd.c
  ===
  --- a/drivers/ide/ide-cd.c
  +++ b/drivers/ide/ide-cd.c
  @@ -3049,12 +3049,7 @@ int ide_cdrom_probe_capabilities (ide_dr
   else   
  printk( drive);
   
  -   printk(, %dkB Cache, be16_to_cpu(cap.buffer_size));
  -
  -   if (drive-using_dma)
  -   ide_dma_verbose(drive);
  -
  -   printk(\n);
  +   printk(, %dkB Cache\n, be16_to_cpu(cap.buffer_size));
 
 Use
   printk(KERN_CONT ...
 so that someone won't try to add another KERN_* facility level to it.
 (same for other continued printk calls in this patch)

good idea, fixed

[ I keep forgetting that there is KERN_CONT... ]

   
  return nslots;
   }
  Index: b/drivers/ide/ide-disk.c
  ===
  --- a/drivers/ide/ide-disk.c
  +++ b/drivers/ide/ide-disk.c
  @@ -961,11 +961,8 @@ static void idedisk_setup (ide_drive_t *
  if (id-buf_size)
  printk ( w/%dKiB Cache, id-buf_size/2);
   
  -   printk(, CHS=%d/%d/%d, 
  +   printk(, CHS=%d/%d/%d\n,
 
 Ditto.

fixed

 drive-bios_cyl, drive-bios_head, drive-bios_sect);
  -   if (drive-using_dma)
  -   ide_dma_verbose(drive);
  -   printk(\n);
   
  /* write cache enabled? */
  if ((id-csfo  1) || (id-cfs_enable_1  (1  5)))
 
  Index: b/include/linux/ide.h
  ===
  --- a/include/linux/ide.h
  +++ b/include/linux/ide.h
 
  @@ -1333,8 +1334,7 @@ static inline void ide_set_hwifdata (ide
  hwif-hwif_data = data;
   }
   
  -/* ide-lib.c */
  -extern char *ide_xfer_verbose(u8 xfer_rate);
  +const char *ide_xfer_verbose(u8);
   extern void ide_toggle_bounce(ide_drive_t *drive, int on);
   extern int ide_set_xfer_rate(ide_drive_t *drive, u8 rate);
 
 Ideally function prototypes would include variable names, not just
 types, as a helpful hint to readers of them.

fixed

Thanks Randy!

[PATCH] ide: DMA reporting and validity checking fixes (take 2)

* ide_xfer_verbose() fixups:
  - beautify returned mode names
  - fix PIO5 reporting
  - make it return 'const char *'

* Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode().

* Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for invalid
  DMA info in identify block.

* Use 

Re: Peculiar out-of-sync boot log lines

2007-12-02 Thread Bartlomiej Zolnierkiewicz
On Sunday 02 December 2007, Nick Warne wrote:
 On Sat, 1 Dec 2007 22:59:35 +0100
 Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] wrote:
 
  
  Thanks for reporting/debugging it guys!
  
   Something in there needs to insert a '\n' before the skipping
   word message. Since it doesn't do that right now, the KERN_DEBUG
   string appears as 7
  
  This seems like a good occasion to fix ide_dma_verbose() for good
  so... :)
  
  This patch should fix the following problem with out-of-sync IDE
  messages reported by Nick Warned:
 ...

Sorry for that, I fixed it in take 2 of the patch.

 I was only reporting it... not warning anybody ;-)

Hehe... :-)

Bart
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Peculiar out-of-sync boot log lines

2007-12-01 Thread Randy Dunlap
On Sat, 1 Dec 2007 22:59:35 +0100 Bartlomiej Zolnierkiewicz wrote:

> Thanks for reporting/debugging it guys!
> 
> > Something in there needs to insert a '\n' before the "skipping word" 
> > message.
> > Since it doesn't do that right now, the KERN_DEBUG string appears as "<7>"
> 
> This seems like a good occasion to fix ide_dma_verbose() for good so... :)
> 
> [ patch is against current Linus tree so might not apply to 2.6.23.9 ]
> 
> [PATCH] ide: DMA reporting and validity checking fixes
> 
> * ide_xfer_verbose() fixups:
>   - beautify returned mode names
>   - fix PIO5 reporting
>   - make it return 'const char *'
> 
> * Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode().
> 
> * Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for invalid
>   DMA info in identify block.
> 
> * Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().
> 
>   As a result DMA won't be tuned or will be disabled after tuning if device
>   reports inconsistent info about enabled DMA mode (ide_dma_verbose() does the
>   same checks while the IDE device is probed by ide-{cd,disk} device driver).
> 
> * Since (id->capability & 1) && id->tDMA is a valid configuration handle
>   it correctly in ide_id_dma_bug().
> 
> * Remove no longer needed ide_dma_verbose().
> 
> This patch should fix the following problem with out-of-sync IDE messages
> reported by Nick Warned:
> 
>hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache<7>hdd:
>skipping word 93 validity check
> , UDMA(66)
> 
> and later debugged by Mark Lord to be caused by:
> 
> ide_dma_verbose()
> printk( ... "2048kB Cache");
> eighty_ninty_three()
> printk(KERN_DEBUG "%s: skipping word 93 validity check\n");
> ide_dma_verbose()
> printk(", UDMA(66)"
> 
> Please note that as a result ide-{cd,disk} device drivers won't report the
> DMA speed used but this is intended since now DMA mode being used is always
> reported by IDE core code.
> 
> Cc: Nick Warne <[EMAIL PROTECTED]>
> Cc: Mark Lord <[EMAIL PROTECTED]>
> Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
> ---
>  drivers/ide/ide-cd.c   |7 --
>  drivers/ide/ide-disk.c |5 
>  drivers/ide/ide-dma.c  |   57 
> -
>  drivers/ide/ide-iops.c |3 ++
>  drivers/ide/ide-lib.c  |   55 ---
>  include/linux/ide.h|6 ++---
>  6 files changed, 51 insertions(+), 82 deletions(-)
> 
> Index: b/drivers/ide/ide-cd.c
> ===
> --- a/drivers/ide/ide-cd.c
> +++ b/drivers/ide/ide-cd.c
> @@ -3049,12 +3049,7 @@ int ide_cdrom_probe_capabilities (ide_dr
>  else 
>   printk(" drive");
>  
> - printk(", %dkB Cache", be16_to_cpu(cap.buffer_size));
> -
> - if (drive->using_dma)
> - ide_dma_verbose(drive);
> -
> - printk("\n");
> + printk(", %dkB Cache\n", be16_to_cpu(cap.buffer_size));

Use
printk(KERN_CONT ...
so that someone won't try to add another KERN_* facility level to it.
(same for other continued printk calls in this patch)

>  
>   return nslots;
>  }
> Index: b/drivers/ide/ide-disk.c
> ===
> --- a/drivers/ide/ide-disk.c
> +++ b/drivers/ide/ide-disk.c
> @@ -961,11 +961,8 @@ static void idedisk_setup (ide_drive_t *
>   if (id->buf_size)
>   printk (" w/%dKiB Cache", id->buf_size/2);
>  
> - printk(", CHS=%d/%d/%d", 
> + printk(", CHS=%d/%d/%d\n",

Ditto.

>  drive->bios_cyl, drive->bios_head, drive->bios_sect);
> - if (drive->using_dma)
> - ide_dma_verbose(drive);
> - printk("\n");
>  
>   /* write cache enabled? */
>   if ((id->csfo & 1) || (id->cfs_enable_1 & (1 << 5)))

> Index: b/include/linux/ide.h
> ===
> --- a/include/linux/ide.h
> +++ b/include/linux/ide.h

> @@ -1333,8 +1334,7 @@ static inline void ide_set_hwifdata (ide
>   hwif->hwif_data = data;
>  }
>  
> -/* ide-lib.c */
> -extern char *ide_xfer_verbose(u8 xfer_rate);
> +const char *ide_xfer_verbose(u8);
>  extern void ide_toggle_bounce(ide_drive_t *drive, int on);
>  extern int ide_set_xfer_rate(ide_drive_t *drive, u8 rate);

Ideally function prototypes would include variable names, not just
types, as a helpful hint to readers of them.

---
~Randy
The Linux kernel requires that any needed documentation accompany all
changes requiring said documentation -- part of the source-code patch
must apply to the Documentation/ directory. [...]
To sum up: No undocumented changes.
-- Donnie Berkholz engages in some wishful thinking
 Quote of the Week
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]

Re: Peculiar out-of-sync boot log lines

2007-12-01 Thread Bartlomiej Zolnierkiewicz

Hi,

On Thursday 29 November 2007, Mark Lord wrote:
> Nick Warne wrote:
> > Hi all,
> > 
> > 2.6.23.9
> > 
> > I have noticed after applying Bart's patch to word93 blacklist my new
> > DVD drive:
> > 
> > http://lkml.org/lkml/2007/10/23/475
> > 
> > I see now in logs (look at the hdd line:
> > 
> > [dmesg]
> > hdc: 39876480 sectors (20416 MB) w/2048KiB Cache, CHS=39560/16/63,
> > UDMA(66)
> > hdc: cache flushes not supported
> >  hdc: hdc1
> > hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache<7>hdd:
> > skipping word 93 validity check
> > , UDMA(66)
> > Uniform CD-ROM driver Revision: 3.20
> > 
> > 
> > <7> ??  And the ", UDMA(66)" gets new lined, so in syslog it appears all
> > by itself:
> ...
> 
> That's a minor bug with the patch.
> 
> The code does this:
> 
> ide_dma_verbose::printk( ... "2048kB Cache");
> eighty_ninty_three::printk(KERN_DEBUG "%s: skipping word 93 validity 
> check\n");
> ide_dma_verbose::printk(", UDMA(66)"

Thanks for reporting/debugging it guys!

> Something in there needs to insert a '\n' before the "skipping word" message.
> Since it doesn't do that right now, the KERN_DEBUG string appears as "<7>"

This seems like a good occasion to fix ide_dma_verbose() for good so... :)

[ patch is against current Linus tree so might not apply to 2.6.23.9 ]

[PATCH] ide: DMA reporting and validity checking fixes

* ide_xfer_verbose() fixups:
  - beautify returned mode names
  - fix PIO5 reporting
  - make it return 'const char *'

* Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode().

* Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for invalid
  DMA info in identify block.

* Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().

  As a result DMA won't be tuned or will be disabled after tuning if device
  reports inconsistent info about enabled DMA mode (ide_dma_verbose() does the
  same checks while the IDE device is probed by ide-{cd,disk} device driver).

* Since (id->capability & 1) && id->tDMA is a valid configuration handle
  it correctly in ide_id_dma_bug().

* Remove no longer needed ide_dma_verbose().

This patch should fix the following problem with out-of-sync IDE messages
reported by Nick Warned:

   hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache<7>hdd:
   skipping word 93 validity check
, UDMA(66)

and later debugged by Mark Lord to be caused by:

ide_dma_verbose()
printk( ... "2048kB Cache");
eighty_ninty_three()
printk(KERN_DEBUG "%s: skipping word 93 validity check\n");
ide_dma_verbose()
printk(", UDMA(66)"

Please note that as a result ide-{cd,disk} device drivers won't report the
DMA speed used but this is intended since now DMA mode being used is always
reported by IDE core code.

Cc: Nick Warne <[EMAIL PROTECTED]>
Cc: Mark Lord <[EMAIL PROTECTED]>
Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
---
 drivers/ide/ide-cd.c   |7 --
 drivers/ide/ide-disk.c |5 
 drivers/ide/ide-dma.c  |   57 -
 drivers/ide/ide-iops.c |3 ++
 drivers/ide/ide-lib.c  |   55 ---
 include/linux/ide.h|6 ++---
 6 files changed, 51 insertions(+), 82 deletions(-)

Index: b/drivers/ide/ide-cd.c
===
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -3049,12 +3049,7 @@ int ide_cdrom_probe_capabilities (ide_dr
 else   
printk(" drive");
 
-   printk(", %dkB Cache", be16_to_cpu(cap.buffer_size));
-
-   if (drive->using_dma)
-   ide_dma_verbose(drive);
-
-   printk("\n");
+   printk(", %dkB Cache\n", be16_to_cpu(cap.buffer_size));
 
return nslots;
 }
Index: b/drivers/ide/ide-disk.c
===
--- a/drivers/ide/ide-disk.c
+++ b/drivers/ide/ide-disk.c
@@ -961,11 +961,8 @@ static void idedisk_setup (ide_drive_t *
if (id->buf_size)
printk (" w/%dKiB Cache", id->buf_size/2);
 
-   printk(", CHS=%d/%d/%d", 
+   printk(", CHS=%d/%d/%d\n",
   drive->bios_cyl, drive->bios_head, drive->bios_sect);
-   if (drive->using_dma)
-   ide_dma_verbose(drive);
-   printk("\n");
 
/* write cache enabled? */
if ((id->csfo & 1) || (id->cfs_enable_1 & (1 << 5)))
Index: b/drivers/ide/ide-dma.c
===
--- a/drivers/ide/ide-dma.c
+++ b/drivers/ide/ide-dma.c
@@ -753,7 +753,7 @@ u8 ide_find_dma_mode(ide_drive_t *drive,
mode = XFER_MW_DMA_1;
}
 
-   printk(KERN_DEBUG "%s: %s mode selected\n", drive->name,
+   printk(KERN_INFO "%s: %s mode selected\n", drive->name,
  mode ? ide_xfer_verbose(mode) : "no DMA");
 
return min(mode, req_mode);
@@ -772,6 

Re: Peculiar out-of-sync boot log lines

2007-12-01 Thread Bartlomiej Zolnierkiewicz

Hi,

On Thursday 29 November 2007, Mark Lord wrote:
 Nick Warne wrote:
  Hi all,
  
  2.6.23.9
  
  I have noticed after applying Bart's patch to word93 blacklist my new
  DVD drive:
  
  http://lkml.org/lkml/2007/10/23/475
  
  I see now in logs (look at the hdd line:
  
  [dmesg]
  hdc: 39876480 sectors (20416 MB) w/2048KiB Cache, CHS=39560/16/63,
  UDMA(66)
  hdc: cache flushes not supported
   hdc: hdc1
  hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache7hdd:
  skipping word 93 validity check
  , UDMA(66)
  Uniform CD-ROM driver Revision: 3.20
  
  
  7 ??  And the , UDMA(66) gets new lined, so in syslog it appears all
  by itself:
 ...
 
 That's a minor bug with the patch.
 
 The code does this:
 
 ide_dma_verbose::printk( ... 2048kB Cache);
 eighty_ninty_three::printk(KERN_DEBUG %s: skipping word 93 validity 
 check\n);
 ide_dma_verbose::printk(, UDMA(66)

Thanks for reporting/debugging it guys!

 Something in there needs to insert a '\n' before the skipping word message.
 Since it doesn't do that right now, the KERN_DEBUG string appears as 7

This seems like a good occasion to fix ide_dma_verbose() for good so... :)

[ patch is against current Linus tree so might not apply to 2.6.23.9 ]

[PATCH] ide: DMA reporting and validity checking fixes

* ide_xfer_verbose() fixups:
  - beautify returned mode names
  - fix PIO5 reporting
  - make it return 'const char *'

* Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode().

* Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for invalid
  DMA info in identify block.

* Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().

  As a result DMA won't be tuned or will be disabled after tuning if device
  reports inconsistent info about enabled DMA mode (ide_dma_verbose() does the
  same checks while the IDE device is probed by ide-{cd,disk} device driver).

* Since (id-capability  1)  id-tDMA is a valid configuration handle
  it correctly in ide_id_dma_bug().

* Remove no longer needed ide_dma_verbose().

This patch should fix the following problem with out-of-sync IDE messages
reported by Nick Warned:

   hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache7hdd:
   skipping word 93 validity check
, UDMA(66)

and later debugged by Mark Lord to be caused by:

ide_dma_verbose()
printk( ... 2048kB Cache);
eighty_ninty_three()
printk(KERN_DEBUG %s: skipping word 93 validity check\n);
ide_dma_verbose()
printk(, UDMA(66)

Please note that as a result ide-{cd,disk} device drivers won't report the
DMA speed used but this is intended since now DMA mode being used is always
reported by IDE core code.

Cc: Nick Warne [EMAIL PROTECTED]
Cc: Mark Lord [EMAIL PROTECTED]
Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
---
 drivers/ide/ide-cd.c   |7 --
 drivers/ide/ide-disk.c |5 
 drivers/ide/ide-dma.c  |   57 -
 drivers/ide/ide-iops.c |3 ++
 drivers/ide/ide-lib.c  |   55 ---
 include/linux/ide.h|6 ++---
 6 files changed, 51 insertions(+), 82 deletions(-)

Index: b/drivers/ide/ide-cd.c
===
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -3049,12 +3049,7 @@ int ide_cdrom_probe_capabilities (ide_dr
 else   
printk( drive);
 
-   printk(, %dkB Cache, be16_to_cpu(cap.buffer_size));
-
-   if (drive-using_dma)
-   ide_dma_verbose(drive);
-
-   printk(\n);
+   printk(, %dkB Cache\n, be16_to_cpu(cap.buffer_size));
 
return nslots;
 }
Index: b/drivers/ide/ide-disk.c
===
--- a/drivers/ide/ide-disk.c
+++ b/drivers/ide/ide-disk.c
@@ -961,11 +961,8 @@ static void idedisk_setup (ide_drive_t *
if (id-buf_size)
printk ( w/%dKiB Cache, id-buf_size/2);
 
-   printk(, CHS=%d/%d/%d, 
+   printk(, CHS=%d/%d/%d\n,
   drive-bios_cyl, drive-bios_head, drive-bios_sect);
-   if (drive-using_dma)
-   ide_dma_verbose(drive);
-   printk(\n);
 
/* write cache enabled? */
if ((id-csfo  1) || (id-cfs_enable_1  (1  5)))
Index: b/drivers/ide/ide-dma.c
===
--- a/drivers/ide/ide-dma.c
+++ b/drivers/ide/ide-dma.c
@@ -753,7 +753,7 @@ u8 ide_find_dma_mode(ide_drive_t *drive,
mode = XFER_MW_DMA_1;
}
 
-   printk(KERN_DEBUG %s: %s mode selected\n, drive-name,
+   printk(KERN_INFO %s: %s mode selected\n, drive-name,
  mode ? ide_xfer_verbose(mode) : no DMA);
 
return min(mode, req_mode);
@@ -772,6 +772,9 @@ static int ide_tune_dma(ide_drive_t *dri
if (__ide_dma_bad_drive(drive))
return 0;
 
+   if 

Re: Peculiar out-of-sync boot log lines

2007-12-01 Thread Randy Dunlap
On Sat, 1 Dec 2007 22:59:35 +0100 Bartlomiej Zolnierkiewicz wrote:

 Thanks for reporting/debugging it guys!
 
  Something in there needs to insert a '\n' before the skipping word 
  message.
  Since it doesn't do that right now, the KERN_DEBUG string appears as 7
 
 This seems like a good occasion to fix ide_dma_verbose() for good so... :)
 
 [ patch is against current Linus tree so might not apply to 2.6.23.9 ]
 
 [PATCH] ide: DMA reporting and validity checking fixes
 
 * ide_xfer_verbose() fixups:
   - beautify returned mode names
   - fix PIO5 reporting
   - make it return 'const char *'
 
 * Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode().
 
 * Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for invalid
   DMA info in identify block.
 
 * Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().
 
   As a result DMA won't be tuned or will be disabled after tuning if device
   reports inconsistent info about enabled DMA mode (ide_dma_verbose() does the
   same checks while the IDE device is probed by ide-{cd,disk} device driver).
 
 * Since (id-capability  1)  id-tDMA is a valid configuration handle
   it correctly in ide_id_dma_bug().
 
 * Remove no longer needed ide_dma_verbose().
 
 This patch should fix the following problem with out-of-sync IDE messages
 reported by Nick Warned:
 
hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache7hdd:
skipping word 93 validity check
 , UDMA(66)
 
 and later debugged by Mark Lord to be caused by:
 
 ide_dma_verbose()
 printk( ... 2048kB Cache);
 eighty_ninty_three()
 printk(KERN_DEBUG %s: skipping word 93 validity check\n);
 ide_dma_verbose()
 printk(, UDMA(66)
 
 Please note that as a result ide-{cd,disk} device drivers won't report the
 DMA speed used but this is intended since now DMA mode being used is always
 reported by IDE core code.
 
 Cc: Nick Warne [EMAIL PROTECTED]
 Cc: Mark Lord [EMAIL PROTECTED]
 Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
 ---
  drivers/ide/ide-cd.c   |7 --
  drivers/ide/ide-disk.c |5 
  drivers/ide/ide-dma.c  |   57 
 -
  drivers/ide/ide-iops.c |3 ++
  drivers/ide/ide-lib.c  |   55 ---
  include/linux/ide.h|6 ++---
  6 files changed, 51 insertions(+), 82 deletions(-)
 
 Index: b/drivers/ide/ide-cd.c
 ===
 --- a/drivers/ide/ide-cd.c
 +++ b/drivers/ide/ide-cd.c
 @@ -3049,12 +3049,7 @@ int ide_cdrom_probe_capabilities (ide_dr
  else 
   printk( drive);
  
 - printk(, %dkB Cache, be16_to_cpu(cap.buffer_size));
 -
 - if (drive-using_dma)
 - ide_dma_verbose(drive);
 -
 - printk(\n);
 + printk(, %dkB Cache\n, be16_to_cpu(cap.buffer_size));

Use
printk(KERN_CONT ...
so that someone won't try to add another KERN_* facility level to it.
(same for other continued printk calls in this patch)

  
   return nslots;
  }
 Index: b/drivers/ide/ide-disk.c
 ===
 --- a/drivers/ide/ide-disk.c
 +++ b/drivers/ide/ide-disk.c
 @@ -961,11 +961,8 @@ static void idedisk_setup (ide_drive_t *
   if (id-buf_size)
   printk ( w/%dKiB Cache, id-buf_size/2);
  
 - printk(, CHS=%d/%d/%d, 
 + printk(, CHS=%d/%d/%d\n,

Ditto.

  drive-bios_cyl, drive-bios_head, drive-bios_sect);
 - if (drive-using_dma)
 - ide_dma_verbose(drive);
 - printk(\n);
  
   /* write cache enabled? */
   if ((id-csfo  1) || (id-cfs_enable_1  (1  5)))

 Index: b/include/linux/ide.h
 ===
 --- a/include/linux/ide.h
 +++ b/include/linux/ide.h

 @@ -1333,8 +1334,7 @@ static inline void ide_set_hwifdata (ide
   hwif-hwif_data = data;
  }
  
 -/* ide-lib.c */
 -extern char *ide_xfer_verbose(u8 xfer_rate);
 +const char *ide_xfer_verbose(u8);
  extern void ide_toggle_bounce(ide_drive_t *drive, int on);
  extern int ide_set_xfer_rate(ide_drive_t *drive, u8 rate);

Ideally function prototypes would include variable names, not just
types, as a helpful hint to readers of them.

---
~Randy
The Linux kernel requires that any needed documentation accompany all
changes requiring said documentation -- part of the source-code patch
must apply to the Documentation/ directory. [...]
To sum up: No undocumented changes.
-- Donnie Berkholz engages in some wishful thinking
http://lwn.net/Articles/259470/ Quote of the Week
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Peculiar out-of-sync boot log lines

2007-11-29 Thread Joe Perches
On Thu, 2007-11-29 at 20:03 +, Nick Warne wrote:
> Yes, but where does the <7> come from?

printk interleaving of functions in ide-cd and ide-iops.

drivers/ide/ide-cd.c ide_cdrom_probe_capabilities could
use something like the string_buf implementations talked
about awhile ago.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Peculiar out-of-sync boot log lines

2007-11-29 Thread Mark Lord

Nick Warne wrote:

Hi all,

2.6.23.9

I have noticed after applying Bart's patch to word93 blacklist my new
DVD drive:

http://lkml.org/lkml/2007/10/23/475

I see now in logs (look at the hdd line:

[dmesg]
hdc: 39876480 sectors (20416 MB) w/2048KiB Cache, CHS=39560/16/63,
UDMA(66)
hdc: cache flushes not supported
 hdc: hdc1
hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache<7>hdd:
skipping word 93 validity check
, UDMA(66)
Uniform CD-ROM driver Revision: 3.20


<7> ??  And the ", UDMA(66)" gets new lined, so in syslog it appears all
by itself:

...

That's a minor bug with the patch.

The code does this:

ide_dma_verbose::printk( ... "2048kB Cache");
eighty_ninty_three::printk(KERN_DEBUG "%s: skipping word 93 validity check\n");
ide_dma_verbose::printk(", UDMA(66)"

Something in there needs to insert a '\n' before the "skipping word" message.
Since it doesn't do that right now, the KERN_DEBUG string appears as "<7>"
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Peculiar out-of-sync boot log lines

2007-11-29 Thread Nick Warne
Hi Jon,

On Thu, 29 Nov 2007 14:51:11 -0500
Jon Masters <[EMAIL PROTECTED]> wrote:

> 
> On Thu, 2007-11-29 at 19:37 +, Nick Warne wrote:
> > Hi all,
> > 
> > 2.6.23.9
> > 
> > I have noticed after applying Bart's patch to word93 blacklist my
> > new DVD drive:
> > 
> > http://lkml.org/lkml/2007/10/23/475
> > 
> > I see now in logs (look at the hdd line:
> > 
> > [dmesg]
> > hdc: 39876480 sectors (20416 MB) w/2048KiB Cache, CHS=39560/16/63,
> > UDMA(66)
> > hdc: cache flushes not supported
> >  hdc: hdc1
> > hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache<7>hdd:
> > skipping word 93 validity check
> > , UDMA(66)
> > Uniform CD-ROM driver Revision: 3.20
> 
> Only very early in boot are you guaranteed for things to execute
> sequentially, and for logs to look nice and pretty.
> 

Yes, but where does the <7> come from?

Nick

-- 
Free Software Foundation Associate Member 5508
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Peculiar out-of-sync boot log lines

2007-11-29 Thread Jon Masters

On Thu, 2007-11-29 at 19:37 +, Nick Warne wrote:
> Hi all,
> 
> 2.6.23.9
> 
> I have noticed after applying Bart's patch to word93 blacklist my new
> DVD drive:
> 
> http://lkml.org/lkml/2007/10/23/475
> 
> I see now in logs (look at the hdd line:
> 
> [dmesg]
> hdc: 39876480 sectors (20416 MB) w/2048KiB Cache, CHS=39560/16/63,
> UDMA(66)
> hdc: cache flushes not supported
>  hdc: hdc1
> hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache<7>hdd:
> skipping word 93 validity check
> , UDMA(66)
> Uniform CD-ROM driver Revision: 3.20

Only very early in boot are you guaranteed for things to execute
sequentially, and for logs to look nice and pretty.

Jon.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Peculiar out-of-sync boot log lines

2007-11-29 Thread Nick Warne

Hi all,

2.6.23.9

I have noticed after applying Bart's patch to word93 blacklist my new
DVD drive:

http://lkml.org/lkml/2007/10/23/475

I see now in logs (look at the hdd line:

[dmesg]
hdc: 39876480 sectors (20416 MB) w/2048KiB Cache, CHS=39560/16/63,
UDMA(66)
hdc: cache flushes not supported
 hdc: hdc1
hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache<7>hdd:
skipping word 93 validity check
, UDMA(66)
Uniform CD-ROM driver Revision: 3.20


<7> ??  And the ", UDMA(66)" gets new lined, so in syslog it appears all
by itself:


[/var/log/syslog]
Nov 29 19:22:00 linuxamd kernel: hda: Maxtor 6Y080L0, ATA DISK drive
Nov 29 19:22:00 linuxamd kernel: hdb: Maxtor 51536H2, ATA DISK drive
Nov 29 19:22:00 linuxamd kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Nov 29 19:22:00 linuxamd kernel: hdc: Maxtor 52049H3, ATA DISK drive
Nov 29 19:22:00 linuxamd kernel: hdd: TSSTcorp CDDVDW SH-S202J, ATAPI
CD/DVD-ROM drive
Nov 29 19:22:00 linuxamd kernel: ide1 at 0x170-0x177,0x376 on irq 15
Nov 29 19:22:00 linuxamd kernel: , UDMA(66)



I have tried to trace this, but cannot see anywhere printk
does this.

Nick
-- 
Free Software Foundation Associate Member 5508
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Peculiar out-of-sync boot log lines

2007-11-29 Thread Nick Warne

Hi all,

2.6.23.9

I have noticed after applying Bart's patch to word93 blacklist my new
DVD drive:

http://lkml.org/lkml/2007/10/23/475

I see now in logs (look at the hdd line:

[dmesg]
hdc: 39876480 sectors (20416 MB) w/2048KiB Cache, CHS=39560/16/63,
UDMA(66)
hdc: cache flushes not supported
 hdc: hdc1
hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache7hdd:
skipping word 93 validity check
, UDMA(66)
Uniform CD-ROM driver Revision: 3.20


7 ??  And the , UDMA(66) gets new lined, so in syslog it appears all
by itself:


[/var/log/syslog]
Nov 29 19:22:00 linuxamd kernel: hda: Maxtor 6Y080L0, ATA DISK drive
Nov 29 19:22:00 linuxamd kernel: hdb: Maxtor 51536H2, ATA DISK drive
Nov 29 19:22:00 linuxamd kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Nov 29 19:22:00 linuxamd kernel: hdc: Maxtor 52049H3, ATA DISK drive
Nov 29 19:22:00 linuxamd kernel: hdd: TSSTcorp CDDVDW SH-S202J, ATAPI
CD/DVD-ROM drive
Nov 29 19:22:00 linuxamd kernel: ide1 at 0x170-0x177,0x376 on irq 15
Nov 29 19:22:00 linuxamd kernel: , UDMA(66)



I have tried to trace this, but cannot see anywhere printk
does this.

Nick
-- 
Free Software Foundation Associate Member 5508
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Peculiar out-of-sync boot log lines

2007-11-29 Thread Jon Masters

On Thu, 2007-11-29 at 19:37 +, Nick Warne wrote:
 Hi all,
 
 2.6.23.9
 
 I have noticed after applying Bart's patch to word93 blacklist my new
 DVD drive:
 
 http://lkml.org/lkml/2007/10/23/475
 
 I see now in logs (look at the hdd line:
 
 [dmesg]
 hdc: 39876480 sectors (20416 MB) w/2048KiB Cache, CHS=39560/16/63,
 UDMA(66)
 hdc: cache flushes not supported
  hdc: hdc1
 hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache7hdd:
 skipping word 93 validity check
 , UDMA(66)
 Uniform CD-ROM driver Revision: 3.20

Only very early in boot are you guaranteed for things to execute
sequentially, and for logs to look nice and pretty.

Jon.


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Peculiar out-of-sync boot log lines

2007-11-29 Thread Mark Lord

Nick Warne wrote:

Hi all,

2.6.23.9

I have noticed after applying Bart's patch to word93 blacklist my new
DVD drive:

http://lkml.org/lkml/2007/10/23/475

I see now in logs (look at the hdd line:

[dmesg]
hdc: 39876480 sectors (20416 MB) w/2048KiB Cache, CHS=39560/16/63,
UDMA(66)
hdc: cache flushes not supported
 hdc: hdc1
hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache7hdd:
skipping word 93 validity check
, UDMA(66)
Uniform CD-ROM driver Revision: 3.20


7 ??  And the , UDMA(66) gets new lined, so in syslog it appears all
by itself:

...

That's a minor bug with the patch.

The code does this:

ide_dma_verbose::printk( ... 2048kB Cache);
eighty_ninty_three::printk(KERN_DEBUG %s: skipping word 93 validity check\n);
ide_dma_verbose::printk(, UDMA(66)

Something in there needs to insert a '\n' before the skipping word message.
Since it doesn't do that right now, the KERN_DEBUG string appears as 7
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Peculiar out-of-sync boot log lines

2007-11-29 Thread Joe Perches
On Thu, 2007-11-29 at 20:03 +, Nick Warne wrote:
 Yes, but where does the 7 come from?

printk interleaving of functions in ide-cd and ide-iops.

drivers/ide/ide-cd.c ide_cdrom_probe_capabilities could
use something like the string_buf implementations talked
about awhile ago.


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Peculiar out-of-sync boot log lines

2007-11-29 Thread Nick Warne
Hi Jon,

On Thu, 29 Nov 2007 14:51:11 -0500
Jon Masters [EMAIL PROTECTED] wrote:

 
 On Thu, 2007-11-29 at 19:37 +, Nick Warne wrote:
  Hi all,
  
  2.6.23.9
  
  I have noticed after applying Bart's patch to word93 blacklist my
  new DVD drive:
  
  http://lkml.org/lkml/2007/10/23/475
  
  I see now in logs (look at the hdd line:
  
  [dmesg]
  hdc: 39876480 sectors (20416 MB) w/2048KiB Cache, CHS=39560/16/63,
  UDMA(66)
  hdc: cache flushes not supported
   hdc: hdc1
  hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache7hdd:
  skipping word 93 validity check
  , UDMA(66)
  Uniform CD-ROM driver Revision: 3.20
 
 Only very early in boot are you guaranteed for things to execute
 sequentially, and for logs to look nice and pretty.
 

Yes, but where does the 7 come from?

Nick

-- 
Free Software Foundation Associate Member 5508
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/