[PATCH] heci: fix typos and add wait after disconnect.
From: Dongxiao Xu
Date: Sun May 31 2009 - 10:46:10 EST
- Fix typo for enum HECI_WRITE.
- Fix timeout issue. If the time period is greater or equal 15s, it's timeout.
- Add 10ms wait time after disconnect, to ensure that hardware is ready.
Otherwise in the next time connection, hardware resource may be busy.
Signed-off-by: Dongxiao Xu <dongxiao.xu@xxxxxxxxx>
---
drivers/staging/heci/heci_init.c | 1 +
drivers/staging/heci/heci_main.c | 2 +-
drivers/staging/heci/interrupt.c | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/heci/heci_init.c b/drivers/staging/heci/heci_init.c
index a8a0da9..06ea196 100644
--- a/drivers/staging/heci/heci_init.c
+++ b/drivers/staging/heci/heci_init.c
@@ -1012,6 +1012,7 @@ int heci_disconnect_host_client(struct iamt_heci_device *dev,
if (dev->host_buffer_is_empty) {
dev->host_buffer_is_empty = 0;
if (heci_disconnect(dev, file_ext)) {
+ mdelay(10); /* Wait for hardware disconnection ready */
list_add_tail(&priv_cb->cb_list,
&dev->ctrl_rd_list.heci_cb.cb_list);
} else {
diff --git a/drivers/staging/heci/heci_main.c b/drivers/staging/heci/heci_main.c
index 1e5c26d..1e2f3db 100644
--- a/drivers/staging/heci/heci_main.c
+++ b/drivers/staging/heci/heci_main.c
@@ -1088,7 +1088,7 @@ static ssize_t heci_write(struct file *file, const char __user *ubuf,
if (file_ext == &dev->iamthif_file_ext) {
priv_write_cb = find_pthi_read_list_entry(dev, file);
if ((priv_write_cb != NULL) &&
- (((currtime - priv_write_cb->read_time) >
+ (((currtime - priv_write_cb->read_time) >=
IAMTHIF_READ_TIMER) ||
(file_ext->reading_state == HECI_READ_COMPLETE))) {
(*offset) = 0;
diff --git a/drivers/staging/heci/interrupt.c b/drivers/staging/heci/interrupt.c
index 2db1851..b7ce73b 100644
--- a/drivers/staging/heci/interrupt.c
+++ b/drivers/staging/heci/interrupt.c
@@ -1054,7 +1054,7 @@ static int heci_bh_write_handler(struct io_heci_list *cmpl_list,
list_del(&priv_cb_pos->cb_list);
if ((HECI_WRITING == file_ext->writing_state) &&
(priv_cb_pos->major_file_operations ==
- HECI_WRITING) &&
+ HECI_WRITE) &&
(file_ext != &dev->iamthif_file_ext)) {
DBG("HECI WRITE COMPLETE\n");
file_ext->writing_state =
--
1.6.0.rc1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/