--- /dev/null
+From 208f2a886a2f6cf329c9fcbf8d29a0dd245cc763 Mon Sep 17 00:00:00 2001
+From: David Milburn <dmilburn@redhat.com>
+Date: Fri, 20 Mar 2009 14:14:23 -0500
+Subject: ahci: correct enclosure LED state save
+References: bnc#489005
+
+ahci_transmit_led_message saves off the led_state
+with a value that includes the port number OR'd
+in, this incorrect value maybe reported back
+in ahci_led_store.
+
+For instance, if you turn off all the leds for
+port 1 and cat the value back it will report 1
+instead of 0.
+
+# echo 0 > /sys/class/scsi_host/host1/em_message
+# cat /sys/class/scsi_host/host1/em_message
+1
+
+Signed-off-by: David Milburn <dmilburn@redhat.com>
+Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+Signed-off-by: Tejun Heo <teheo@suse.de>
+---
+ drivers/ata/ahci.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: linux-2.6.27-SLE11_BRANCH/drivers/ata/ahci.c
+===================================================================
+--- linux-2.6.27-SLE11_BRANCH.orig/drivers/ata/ahci.c
++++ linux-2.6.27-SLE11_BRANCH/drivers/ata/ahci.c
+@@ -1325,7 +1325,7 @@ static ssize_t ahci_transmit_led_message
+ writel(message[1], mmio + hpriv->em_loc+4);
+
+ /* save off new led state for port/slot */
+- emp->led_state = message[1];
++ emp->led_state = state;
+
+ /*
+ * tell hardware to transmit the message