diff options
author | Paul Fulghum <paulkf@microgate.com> | 2005-09-09 16:02:12 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-09 16:57:33 -0400 |
commit | 4a918bc233c8b9537fbc05a8bbb33928a4980cc5 (patch) | |
tree | 4ea5b278ce5f9c57c81feb88910cd107213eac16 /drivers/char/synclink.c | |
parent | 9d5c1e1bf2b906966609f8cf4a844e61adb86bcd (diff) |
[PATCH] synclink.c: compiler optimisation fix
Make some fields of DMA descriptor volatile to prevent compiler optimizations.
Signed-off-by: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/synclink.c')
-rw-r--r-- | drivers/char/synclink.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/char/synclink.c b/drivers/char/synclink.c index 37c8bea8e2b0..747eb8d18166 100644 --- a/drivers/char/synclink.c +++ b/drivers/char/synclink.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/char/synclink.c | 2 | * linux/drivers/char/synclink.c |
3 | * | 3 | * |
4 | * $Id: synclink.c,v 4.28 2004/08/11 19:30:01 paulkf Exp $ | 4 | * $Id: synclink.c,v 4.37 2005/09/07 13:13:19 paulkf Exp $ |
5 | * | 5 | * |
6 | * Device driver for Microgate SyncLink ISA and PCI | 6 | * Device driver for Microgate SyncLink ISA and PCI |
7 | * high speed multiprotocol serial adapters. | 7 | * high speed multiprotocol serial adapters. |
@@ -141,9 +141,9 @@ static MGSL_PARAMS default_params = { | |||
141 | typedef struct _DMABUFFERENTRY | 141 | typedef struct _DMABUFFERENTRY |
142 | { | 142 | { |
143 | u32 phys_addr; /* 32-bit flat physical address of data buffer */ | 143 | u32 phys_addr; /* 32-bit flat physical address of data buffer */ |
144 | u16 count; /* buffer size/data count */ | 144 | volatile u16 count; /* buffer size/data count */ |
145 | u16 status; /* Control/status field */ | 145 | volatile u16 status; /* Control/status field */ |
146 | u16 rcc; /* character count field */ | 146 | volatile u16 rcc; /* character count field */ |
147 | u16 reserved; /* padding required by 16C32 */ | 147 | u16 reserved; /* padding required by 16C32 */ |
148 | u32 link; /* 32-bit flat link to next buffer entry */ | 148 | u32 link; /* 32-bit flat link to next buffer entry */ |
149 | char *virt_addr; /* virtual address of data buffer */ | 149 | char *virt_addr; /* virtual address of data buffer */ |
@@ -896,7 +896,7 @@ module_param_array(txdmabufs, int, NULL, 0); | |||
896 | module_param_array(txholdbufs, int, NULL, 0); | 896 | module_param_array(txholdbufs, int, NULL, 0); |
897 | 897 | ||
898 | static char *driver_name = "SyncLink serial driver"; | 898 | static char *driver_name = "SyncLink serial driver"; |
899 | static char *driver_version = "$Revision: 4.28 $"; | 899 | static char *driver_version = "$Revision: 4.37 $"; |
900 | 900 | ||
901 | static int synclink_init_one (struct pci_dev *dev, | 901 | static int synclink_init_one (struct pci_dev *dev, |
902 | const struct pci_device_id *ent); | 902 | const struct pci_device_id *ent); |