Subject: linux-next: iBook G4, keyboard is locked after wakeup

From: Jörg Sommer <[email-masked]>
Date: Fri, 16 May 2008 00:05:14 +0200

Hi,

I've an iBook G4 and tried the linux-next tree 20080515. When the
computer awakes I see a black screen with the cursor blinking in the left
upper corner. I can change the console with Alt+F1 …, but I can input
anything else. The system is locked. I've ran git bisect and it reported
acff8d4223ddfb35f3950dce3709b1c515e96c08 as the first bad commit.

commit acff8d4223ddfb35f3950dce3709b1c515e96c08
Author: Bartlomiej Zolnierkiewicz <[email-masked]>
Date:   Tue May 13 11:09:44 2008 +1000

    ide: use __generic_unplug_device() in ide_do_drive_cmd()
    
    Call __elv_add_request() with 'plug' == 1 (so the device will be
    plugged) and then use __generic_unplug_device() instead of calling
    ide_do_request() directly.
    
    This is a preparation for converting IDE to use blk_execute_rq().
    
    Cc: FUJITA Tomonori <[email-masked]>
    Cc: Borislav Petkov <[email-masked]>
    Cc: Jens Axboe <[email-masked]>
    Signed-off-by: Bartlomiej Zolnierkiewicz <[email-masked]>

diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
index 5aed79e..a4083e4 100644
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -1606,8 +1606,8 @@ int ide_do_drive_cmd (ide_drive_t *drive, struct request *rq, ide_action_t actio
        spin_lock_irqsave(&ide_lock, flags);
        if (action == ide_preempt)
                hwgroup->rq = NULL;
-       __elv_add_request(drive->queue, rq, where, 0);
-       ide_do_request(hwgroup, IDE_NO_IRQ);
+       __elv_add_request(drive->queue, rq, where, 1);
+       __generic_unplug_device(drive->queue);
        spin_unlock_irqrestore(&ide_lock, flags);
 
        err = 0;

% cat /proc/cpuinfo
processor	: 0
cpu		: 7455, altivec supported
clock		: 606.000000MHz
revision	: 0.3 (pvr 8001 0303)
bogomips	: 36.73
timebase	: 18432000
platform	: PowerMac
model		: PowerBook6,3
machine		: PowerBook6,3
motherboard	: PowerBook6,3 MacRISC3 Power Macintosh
detected as	: 287 (iBook G4)
pmac flags	: 0000001b
L2 cache	: 256K unified
pmac-generation	: NewWorld

What else information do you need?

Bye, Jörg.
-- 
Real programmers don't comment their code.  It was hard to write,
it should be hard to understand.