diff options
author | Mark Haverkamp <markh@osdl.org> | 2005-08-04 02:38:55 +0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-08-06 01:50:26 +0400 |
commit | c7f476023f57145357df32346b7de9202ce47d5f (patch) | |
tree | a73d27c245d024ea9e0e0651d3ca524ef74ba9b5 /drivers/scsi/aacraid/commctrl.c | |
parent | bed30de47b034b5f28fb7db2fae4860b9d9c0622 (diff) | |
download | linux-c7f476023f57145357df32346b7de9202ce47d5f.tar.xz |
[SCSI] aacraid: driver version update
Received from Mark Salyzyn from Adaptec.
Fixes a bug in check_revision. It should return the driver version not
the firmware version.
Update driver version number.
Update driver version string.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aacraid/commctrl.c')
-rw-r--r-- | drivers/scsi/aacraid/commctrl.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/drivers/scsi/aacraid/commctrl.c b/drivers/scsi/aacraid/commctrl.c index 85387099aab2..8fceff9be1be 100644 --- a/drivers/scsi/aacraid/commctrl.c +++ b/drivers/scsi/aacraid/commctrl.c @@ -405,10 +405,20 @@ static int close_getadapter_fib(struct aac_dev * dev, void __user *arg) static int check_revision(struct aac_dev *dev, void __user *arg) { struct revision response; - - response.compat = 1; - response.version = le32_to_cpu(dev->adapter_info.kernelrev); - response.build = le32_to_cpu(dev->adapter_info.kernelbuild); + char *driver_version = aac_driver_version; + u32 version; + + response.compat = cpu_to_le32(1); + version = (simple_strtol(driver_version, + &driver_version, 10) << 24) | 0x00000400; + version += simple_strtol(driver_version + 1, &driver_version, 10) << 16; + version += simple_strtol(driver_version + 1, NULL, 10); + response.version = cpu_to_le32(version); +# if (defined(AAC_DRIVER_BUILD)) + response.build = cpu_to_le32(AAC_DRIVER_BUILD); +# else + response.build = cpu_to_le32(9999); +# endif if (copy_to_user(arg, &response, sizeof(response))) return -EFAULT; |