[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>
This commit is contained in:
parent
9d5c1e1bf2
commit
4a918bc233
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* linux/drivers/char/synclink.c
|
* linux/drivers/char/synclink.c
|
||||||
*
|
*
|
||||||
* $Id: synclink.c,v 4.28 2004/08/11 19:30:01 paulkf Exp $
|
* $Id: synclink.c,v 4.37 2005/09/07 13:13:19 paulkf Exp $
|
||||||
*
|
*
|
||||||
* Device driver for Microgate SyncLink ISA and PCI
|
* Device driver for Microgate SyncLink ISA and PCI
|
||||||
* high speed multiprotocol serial adapters.
|
* high speed multiprotocol serial adapters.
|
||||||
@ -141,9 +141,9 @@ static MGSL_PARAMS default_params = {
|
|||||||
typedef struct _DMABUFFERENTRY
|
typedef struct _DMABUFFERENTRY
|
||||||
{
|
{
|
||||||
u32 phys_addr; /* 32-bit flat physical address of data buffer */
|
u32 phys_addr; /* 32-bit flat physical address of data buffer */
|
||||||
u16 count; /* buffer size/data count */
|
volatile u16 count; /* buffer size/data count */
|
||||||
u16 status; /* Control/status field */
|
volatile u16 status; /* Control/status field */
|
||||||
u16 rcc; /* character count field */
|
volatile u16 rcc; /* character count field */
|
||||||
u16 reserved; /* padding required by 16C32 */
|
u16 reserved; /* padding required by 16C32 */
|
||||||
u32 link; /* 32-bit flat link to next buffer entry */
|
u32 link; /* 32-bit flat link to next buffer entry */
|
||||||
char *virt_addr; /* virtual address of data buffer */
|
char *virt_addr; /* virtual address of data buffer */
|
||||||
@ -896,7 +896,7 @@ module_param_array(txdmabufs, int, NULL, 0);
|
|||||||
module_param_array(txholdbufs, int, NULL, 0);
|
module_param_array(txholdbufs, int, NULL, 0);
|
||||||
|
|
||||||
static char *driver_name = "SyncLink serial driver";
|
static char *driver_name = "SyncLink serial driver";
|
||||||
static char *driver_version = "$Revision: 4.28 $";
|
static char *driver_version = "$Revision: 4.37 $";
|
||||||
|
|
||||||
static int synclink_init_one (struct pci_dev *dev,
|
static int synclink_init_one (struct pci_dev *dev,
|
||||||
const struct pci_device_id *ent);
|
const struct pci_device_id *ent);
|
||||||
|
Loading…
Reference in New Issue
Block a user