lkml.org 
[lkml]   [2005]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 12 of 12] Fix Tpm driver -- locks
A lock in the register hardware is missing and the one in release is 
misplaced. This patch fixes these issues.

Signed-off-by: Kylene Hall <kjhall@us.ibm.com>
---
--- linux-2.6.12-rc2/drivers/char/tpm/tpm.c 2005-04-27 14:19:17.000000000 -0500
+++ linux-2.6.12-rc2-tpmdd/drivers/char/tpm/tpm.c 2005-04-27 14:25:04.000000000 -0500
@@ -445,15 +445,15 @@ EXPORT_SYMBOL_GPL(tpm_open);
int tpm_release(struct inode *inode, struct file *file)
{
struct tpm_chip *chip = file->private_data;
-
- file->private_data = NULL;

spin_lock(&driver_lock);
+ file->private_data = NULL;
chip->num_opens--;
del_singleshot_timer_sync(&chip->user_read_timer);
atomic_set(&chip->data_pending, 0);
-
pci_dev_put(chip->pci_dev);
+ kfree(chip->data_buffer);
+ spin_unlock(&driver_lock);
return 0;
}

@@ -665,10 +665,14 @@ dev_num_search_complete:
return -ENODEV;
}

+ spin_lock(&driver_lock);
+
pci_set_drvdata(pci_dev, chip);

list_add(&chip->list, &tpm_chip_list);

+ spin_unlock(&driver_lock);
+
for (i = 0; i < TPM_NUM_ATTR; i++)
device_create_file(&pci_dev->dev, &chip->vendor->attr[i]);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-04-28 00:56    [W:0.678 / U:0.372 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site