Commit fa751d5c authored by Linus Torvalds's avatar Linus Torvalds

Merge bk://bk.arm.linux.org.uk/linux-2.6-serial

into home.osdl.org:/home/torvalds/v2.5/linux
parents 0ef06869 11f96351
...@@ -113,7 +113,7 @@ memset_c: ...@@ -113,7 +113,7 @@ memset_c:
/* expand byte value */ /* expand byte value */
movzbl %sil,%esi movzbl %sil,%esi
movabs $0x0101010101010101,%rax movabs $0x0101010101010101,%rax
mul %esi /* with rax, clobbers rdx */ mulq %rsi /* with rax, clobbers rdx */
rep rep
stosq stosq
movl %r8d,%ecx movl %r8d,%ecx
......
...@@ -647,6 +647,15 @@ int ide_wait_stat (ide_startstop_t *startstop, ide_drive_t *drive, u8 good, u8 b ...@@ -647,6 +647,15 @@ int ide_wait_stat (ide_startstop_t *startstop, ide_drive_t *drive, u8 good, u8 b
timeout += jiffies; timeout += jiffies;
while ((stat = hwif->INB(IDE_STATUS_REG)) & BUSY_STAT) { while ((stat = hwif->INB(IDE_STATUS_REG)) & BUSY_STAT) {
if (time_after(jiffies, timeout)) { if (time_after(jiffies, timeout)) {
/*
* One last read after the timeout in case
* heavy interrupt load made us not make any
* progress during the timeout..
*/
stat = hwif->INB(IDE_STATUS_REG);
if (!(stat & BUSY_STAT))
break;
local_irq_restore(flags); local_irq_restore(flags);
*startstop = DRIVER(drive)->error(drive, "status timeout", stat); *startstop = DRIVER(drive)->error(drive, "status timeout", stat);
return 1; return 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment