hpilo: open/close fix - commit c073b2db006ba9370be1eecc36a1be1d9ce31310 - included in 2.6.29
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
commit c073b2db006ba93
Author: David Altobelli <email address hidden>
Date: Wed Feb 4 15:11:58 2009 -0800
hpilo: open/close fix
The device can take a while to respond to an open/close request, so
increase the time kernel will wait for response (1 ms to 10ms).
Also, properly clean up a channel on a failed open, by calling the channel
close routine. Just freeing the memory isn't sufficient, the device needs
to be informed that the channel is no longer open, and the device memory
cleared of references to freed dma buffer.
Signed-off-by: David Altobelli <email address hidden>
Cc: Greg KH <email address hidden>
Signed-off-by: Andrew Morton <email address hidden>
Signed-off-by: Linus Torvalds <email address hidden>
diff --git a/drivers/
index 10c421b..f26667a 100644
--- a/drivers/
+++ b/drivers/
@@ -207,7 +207,7 @@ static void ilo_ccb_
&device_
/* give iLO some time to process stop request */
- for (retries = 1000; retries > 0; retries--) {
+ for (retries = MAX_WAIT; retries > 0; retries--) {
doorbell_
udelay(1);
if (!(ioread32(
@@ -309,7 +309,7 @@ static int ilo_ccb_open(struct ilo_hwinfo *hw, struct ccb_data *data, int slot)
doorbell_
/* make sure iLO is really handling requests */
- for (i = 1000; i > 0; i--) {
+ for (i = MAX_WAIT; i > 0; i--) {
if (ilo_pkt_
break;
udelay(1);
@@ -326,7 +326,7 @@ static int ilo_ccb_open(struct ilo_hwinfo *hw, struct ccb_data *data, int slot)
return 0;
free:
- pci_free_
+ ilo_ccb_close(pdev, data);
out:
return error;
}
diff --git a/drivers/
index a281207..b64a20e 100644
--- a/drivers/
+++ b/drivers/
@@ -19,6 +19,8 @@
#define MAX_ILO_DEV 1
/* max number of files */
#define MAX_OPEN (MAX_CCB * MAX_ILO_DEV)
+/* spin counter for open/close delay */
+#define MAX_WAIT 10000
/*
* Per device, used to track global memory allocations.
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
status: | New → Triaged |
This bug was fixed in the package linux - 2.6.28-11.40
---------------
linux (2.6.28-11.40) jaunty; urgency=low
[ Amit Kucheria ]
* Disable DEVKMEM for all archs on Jaunty
- LP: #354221
[ Andy Whitcroft ]
* SAUCE: md: wait for possible pending deletes after stopping an array
- LP: #334994
[ Brad Figg ]
* ARM: Setting the bootloader for imx51 flavour.
- LP: #348382
* ARM: Add bootloader package Recomendation to iop32x and ixp4xx flavours
- LP: #348382
[ Tim Gardner ]
* SAUCE: [i915] allocate MCHBAR space & enable if necessary
- LP: #349314
[ Upstream Kernel Changes ]
* hpilo: open/close fix
- LP: #353496
-- Amit Kucheria <email address hidden> Thu, 02 Apr 2009 11:26:22 -0400