Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
4e4d6a6f
Commit
4e4d6a6f
authored
May 15, 2003
by
David S. Miller
Committed by
David S. Miller
May 15, 2003
Browse files
Options
Browse Files
Download
Plain Diff
Merge nuts.ninka.net:/home/davem/src/BK/network-2.5
into nuts.ninka.net:/home/davem/src/BK/net-2.5
parents
f07c72a1
25f38b5d
Changes
35
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
239 additions
and
388 deletions
+239
-388
arch/i386/kernel/cpu/mtrr/if.c
arch/i386/kernel/cpu/mtrr/if.c
+1
-1
arch/i386/kernel/io_apic.c
arch/i386/kernel/io_apic.c
+8
-0
arch/i386/kernel/smpboot.c
arch/i386/kernel/smpboot.c
+2
-0
arch/i386/kernel/sysenter.c
arch/i386/kernel/sysenter.c
+0
-15
arch/i386/mm/hugetlbpage.c
arch/i386/mm/hugetlbpage.c
+0
-4
arch/ia64/ia32/binfmt_elf32.c
arch/ia64/ia32/binfmt_elf32.c
+2
-2
arch/ia64/mm/hugetlbpage.c
arch/ia64/mm/hugetlbpage.c
+1
-4
arch/s390/kernel/compat_exec.c
arch/s390/kernel/compat_exec.c
+2
-3
arch/x86_64/ia32/ia32_binfmt.c
arch/x86_64/ia32/ia32_binfmt.c
+2
-4
drivers/block/DAC960.c
drivers/block/DAC960.c
+120
-187
drivers/block/DAC960.h
drivers/block/DAC960.h
+18
-119
drivers/block/cciss_scsi.c
drivers/block/cciss_scsi.c
+2
-2
drivers/block/loop.c
drivers/block/loop.c
+6
-3
drivers/char/ipmi/ipmi_msghandler.c
drivers/char/ipmi/ipmi_msghandler.c
+4
-4
drivers/char/mem.c
drivers/char/mem.c
+1
-1
drivers/char/pcmcia/synclink_cs.c
drivers/char/pcmcia/synclink_cs.c
+12
-13
drivers/hotplug/acpiphp_glue.c
drivers/hotplug/acpiphp_glue.c
+1
-0
drivers/isdn/i4l/isdn_x25iface.c
drivers/isdn/i4l/isdn_x25iface.c
+2
-0
drivers/isdn/pcbit/drv.c
drivers/isdn/pcbit/drv.c
+1
-0
drivers/md/dm-ioctl.c
drivers/md/dm-ioctl.c
+2
-0
drivers/md/dm-target.c
drivers/md/dm-target.c
+2
-0
drivers/media/radio/miropcm20-rds.c
drivers/media/radio/miropcm20-rds.c
+1
-0
drivers/media/video/bt819.c
drivers/media/video/bt819.c
+1
-0
drivers/media/video/videodev.c
drivers/media/video/videodev.c
+3
-1
drivers/message/i2o/i2o_core.c
drivers/message/i2o/i2o_core.c
+1
-2
drivers/mtd/chips/cfi_cmdset_0001.c
drivers/mtd/chips/cfi_cmdset_0001.c
+2
-0
drivers/mtd/chips/cfi_cmdset_0002.c
drivers/mtd/chips/cfi_cmdset_0002.c
+2
-0
drivers/mtd/chips/sharp.c
drivers/mtd/chips/sharp.c
+3
-1
drivers/net/cs89x0.c
drivers/net/cs89x0.c
+8
-3
fs/exec.c
fs/exec.c
+7
-6
include/asm-i386/mach-visws/mach_apic.h
include/asm-i386/mach-visws/mach_apic.h
+8
-0
include/linux/mm.h
include/linux/mm.h
+8
-3
include/linux/smp.h
include/linux/smp.h
+0
-4
include/linux/spinlock.h
include/linux/spinlock.h
+5
-5
sound/core/info.c
sound/core/info.c
+1
-1
No files found.
arch/i386/kernel/cpu/mtrr/if.c
View file @
4e4d6a6f
...
...
@@ -49,7 +49,7 @@ mtrr_file_del(unsigned long base, unsigned long size,
struct
file
*
file
,
int
page
)
{
int
reg
;
unsigned
int
*
fcount
=
file
->
private_data
;
unsigned
int
*
fcount
=
FILE_FCOUNT
(
file
)
;
if
(
!
page
)
{
if
((
base
&
(
PAGE_SIZE
-
1
))
||
(
size
&
(
PAGE_SIZE
-
1
)))
...
...
arch/i386/kernel/io_apic.c
View file @
4e4d6a6f
...
...
@@ -219,6 +219,14 @@ void clear_IO_APIC_pin(unsigned int apic, unsigned int pin)
{
struct
IO_APIC_route_entry
entry
;
unsigned
long
flags
;
/* Check delivery_mode to be sure we're not clearing an SMI pin */
spin_lock_irqsave
(
&
ioapic_lock
,
flags
);
*
(((
int
*
)
&
entry
)
+
0
)
=
io_apic_read
(
apic
,
0x10
+
2
*
pin
);
*
(((
int
*
)
&
entry
)
+
1
)
=
io_apic_read
(
apic
,
0x11
+
2
*
pin
);
spin_unlock_irqrestore
(
&
ioapic_lock
,
flags
);
if
(
entry
.
delivery_mode
==
dest_SMI
)
return
;
/*
* Disable it in the IO-APIC irq-routing table:
...
...
arch/i386/kernel/smpboot.c
View file @
4e4d6a6f
...
...
@@ -1149,7 +1149,9 @@ int __devinit __cpu_up(unsigned int cpu)
void
__init
smp_cpus_done
(
unsigned
int
max_cpus
)
{
#ifdef CONFIG_X86_IO_APIC
setup_ioapic_dest
(
TARGET_CPUS
);
#endif
zap_low_mappings
();
}
...
...
arch/i386/kernel/sysenter.c
View file @
4e4d6a6f
...
...
@@ -21,21 +21,6 @@
extern
asmlinkage
void
sysenter_entry
(
void
);
/*
* Create a per-cpu fake "SEP thread" stack, so that we can
* enter the kernel without having to worry about things like
* "current" etc not working (debug traps and NMI's can happen
* before we can switch over to the "real" thread).
*
* Return the resulting fake stack pointer.
*/
struct
fake_sep_struct
{
struct
thread_info
thread
;
struct
task_struct
task
;
unsigned
char
trampoline
[
32
]
__attribute__
((
aligned
(
1024
)));
unsigned
char
stack
[
0
];
}
__attribute__
((
aligned
(
8192
)));
void
enable_sep_cpu
(
void
*
info
)
{
int
cpu
=
get_cpu
();
...
...
arch/i386/mm/hugetlbpage.c
View file @
4e4d6a6f
...
...
@@ -20,8 +20,6 @@
#include <asm/tlb.h>
#include <asm/tlbflush.h>
#include <linux/sysctl.h>
static
long
htlbpagemem
;
int
htlbpage_max
;
static
long
htlbzone_pages
;
...
...
@@ -398,8 +396,6 @@ int set_hugetlb_mem_size(int count)
{
int
lcount
;
struct
page
*
page
;
extern
long
htlbzone_pages
;
extern
struct
list_head
htlbpage_freelist
;
if
(
count
<
0
)
lcount
=
count
;
...
...
arch/ia64/ia32/binfmt_elf32.c
View file @
4e4d6a6f
...
...
@@ -12,6 +12,7 @@
#include <linux/config.h>
#include <linux/types.h>
#include <linux/mm.h>
#include <asm/param.h>
#include <asm/signal.h>
...
...
@@ -40,7 +41,6 @@
#define CLOCKS_PER_SEC IA32_CLOCKS_PER_SEC
extern
void
ia64_elf32_init
(
struct
pt_regs
*
regs
);
extern
void
put_dirty_page
(
struct
task_struct
*
tsk
,
struct
page
*
page
,
unsigned
long
address
);
static
void
elf32_set_personality
(
void
);
...
...
@@ -200,7 +200,7 @@ ia32_setup_arg_pages (struct linux_binprm *bprm)
struct
page
*
page
=
bprm
->
page
[
i
];
if
(
page
)
{
bprm
->
page
[
i
]
=
NULL
;
put_dirty_page
(
current
,
page
,
stack_base
);
put_dirty_page
(
current
,
page
,
stack_base
,
PAGE_COPY
);
}
stack_base
+=
PAGE_SIZE
;
}
...
...
arch/ia64/mm/hugetlbpage.c
View file @
4e4d6a6f
...
...
@@ -12,13 +12,12 @@
#include <linux/pagemap.h>
#include <linux/smp_lock.h>
#include <linux/slab.h>
#include <linux/sysctl.h>
#include <asm/mman.h>
#include <asm/pgalloc.h>
#include <asm/tlb.h>
#include <asm/tlbflush.h>
#include <linux/sysctl.h>
#define TASK_HPAGE_BASE (REGION_HPAGE << REGION_SHIFT)
static
long
htlbpagemem
;
...
...
@@ -392,8 +391,6 @@ int set_hugetlb_mem_size(int count)
{
int
lcount
;
struct
page
*
page
;
extern
long
htlbzone_pages
;
extern
struct
list_head
htlbpage_freelist
;
if
(
count
<
0
)
lcount
=
count
;
...
...
arch/s390/kernel/compat_exec.c
View file @
4e4d6a6f
...
...
@@ -18,6 +18,7 @@
#include <linux/smp_lock.h>
#include <linux/init.h>
#include <linux/pagemap.h>
#include <linux/mm.h>
#include <linux/highmem.h>
#include <linux/spinlock.h>
#include <linux/binfmts.h>
...
...
@@ -32,8 +33,6 @@
#endif
extern
void
put_dirty_page
(
struct
task_struct
*
tsk
,
struct
page
*
page
,
unsigned
long
address
);
#undef STACK_TOP
#define STACK_TOP TASK31_SIZE
...
...
@@ -81,7 +80,7 @@ int setup_arg_pages32(struct linux_binprm *bprm)
struct
page
*
page
=
bprm
->
page
[
i
];
if
(
page
)
{
bprm
->
page
[
i
]
=
NULL
;
put_dirty_page
(
current
,
page
,
stack_base
);
put_dirty_page
(
current
,
page
,
stack_base
,
PAGE_COPY
);
}
stack_base
+=
PAGE_SIZE
;
}
...
...
arch/x86_64/ia32/ia32_binfmt.c
View file @
4e4d6a6f
...
...
@@ -13,6 +13,7 @@
#include <linux/sched.h>
#include <linux/string.h>
#include <linux/binfmts.h>
#include <linux/mm.h>
#include <asm/segment.h>
#include <asm/ptrace.h>
#include <asm/processor.h>
...
...
@@ -272,9 +273,6 @@ static void elf32_init(struct pt_regs *regs)
set_thread_flag
(
TIF_IA32
);
}
extern
void
put_dirty_page
(
struct
task_struct
*
tsk
,
struct
page
*
page
,
unsigned
long
address
);
int
setup_arg_pages
(
struct
linux_binprm
*
bprm
)
{
unsigned
long
stack_base
;
...
...
@@ -319,7 +317,7 @@ int setup_arg_pages(struct linux_binprm *bprm)
struct
page
*
page
=
bprm
->
page
[
i
];
if
(
page
)
{
bprm
->
page
[
i
]
=
NULL
;
put_dirty_page
(
current
,
page
,
stack_base
);
put_dirty_page
(
current
,
page
,
stack_base
,
PAGE_COPY_EXEC
);
}
stack_base
+=
PAGE_SIZE
;
}
...
...
drivers/block/DAC960.c
View file @
4e4d6a6f
This diff is collapsed.
Click to expand it.
drivers/block/DAC960.h
View file @
4e4d6a6f
...
...
@@ -2203,33 +2203,10 @@ static char
DAC960_Message(DAC960_UserCriticalLevel, Format, ##Arguments)
/*
Define types for some of the structures that interface with the rest
of the Linux Kernel and I/O Subsystem.
*/
typedef
struct
file
File_T
;
typedef
struct
block_device_operations
BlockDeviceOperations_T
;
typedef
struct
completion
Completion_T
;
typedef
struct
hd_geometry
DiskGeometry_T
;
typedef
struct
inode
Inode_T
;
typedef
struct
inode_operations
InodeOperations_T
;
typedef
kdev_t
KernelDevice_T
;
typedef
struct
list_head
ListHead_T
;
typedef
struct
pci_dev
PCI_Device_T
;
typedef
struct
proc_dir_entry
PROC_DirectoryEntry_T
;
typedef
unsigned
long
ProcessorFlags_T
;
typedef
struct
pt_regs
Registers_T
;
typedef
struct
request
IO_Request_T
;
typedef
request_queue_t
RequestQueue_T
;
typedef
struct
super_block
SuperBlock_T
;
typedef
struct
timer_list
Timer_T
;
typedef
wait_queue_head_t
WaitQueue_T
;
struct
DAC960_privdata
{
DAC960_HardwareType_T
HardwareType
;
DAC960_FirmwareType_T
FirmwareType
;
irqreturn_t
(
*
InterruptHandler
)(
int
,
void
*
,
Registers_T
*
);
irqreturn_t
(
*
InterruptHandler
)(
int
,
void
*
,
struct
pt_regs
*
);
unsigned
int
MemoryWindowSize
;
};
...
...
@@ -2295,14 +2272,14 @@ typedef struct DAC960_Command
DAC960_CommandType_T
CommandType
;
struct
DAC960_Controller
*
Controller
;
struct
DAC960_Command
*
Next
;
Completion_T
*
Completion
;
struct
completion
*
Completion
;
unsigned
int
LogicalDriveNumber
;
unsigned
int
BlockNumber
;
unsigned
int
BlockCount
;
unsigned
int
SegmentCount
;
int
DmaDirection
;
struct
scatterlist
*
cmd_sglist
;
IO_Request_T
*
Request
;
struct
request
*
Request
;
struct
pci_dev
*
PciDevice
;
union
{
struct
{
...
...
@@ -2344,7 +2321,7 @@ typedef struct DAC960_Controller
DAC960_HardwareType_T
HardwareType
;
DAC960_IO_Address_T
IO_Address
;
DAC960_PCI_Address_T
PCI_Address
;
PCI_Device_T
*
PCIDevice
;
struct
pci_dev
*
PCIDevice
;
unsigned
char
ControllerNumber
;
unsigned
char
ControllerName
[
4
];
unsigned
char
ModelName
[
20
];
...
...
@@ -2383,19 +2360,19 @@ typedef struct DAC960_Controller
boolean
DriveSpinUpMessageDisplayed
;
boolean
MonitoringAlertMode
;
boolean
SuppressEnclosureMessages
;
Timer_T
MonitoringTimer
;
struct
timer_list
MonitoringTimer
;
struct
gendisk
*
disks
[
DAC960_MaxLogicalDrives
];
struct
pci_pool
*
ScatterGatherPool
;
DAC960_Command_T
*
FreeCommands
;
unsigned
char
*
CombinedStatusBuffer
;
unsigned
char
*
CurrentStatusBuffer
;
RequestQueue_T
RequestQueue
;
struct
request_queue
RequestQueue
;
spinlock_t
queue_lock
;
WaitQueue_T
CommandWaitQueue
;
WaitQueue_T
HealthStatusWaitQueue
;
wait_queue_head_t
CommandWaitQueue
;
wait_queue_head_t
HealthStatusWaitQueue
;
DAC960_Command_T
InitialCommand
;
DAC960_Command_T
*
Commands
[
DAC960_MaxDriverQueueDepth
];
PROC_DirectoryEntry_T
*
ControllerProcEntry
;
struct
proc_dir_entry
*
ControllerProcEntry
;
boolean
LogicalDriveInitiallyAccessible
[
DAC960_MaxLogicalDrives
];
void
(
*
QueueCommand
)(
DAC960_Command_T
*
Command
);
boolean
(
*
ReadControllerConfiguration
)(
struct
DAC960_Controller
*
);
...
...
@@ -2595,85 +2572,6 @@ void dma_addr_writeql(dma_addr_t addr, void *write_address)
writel
(
u
.
wl
[
1
],
write_address
+
4
);
}
/*
DAC960_AcquireControllerLock acquires exclusive access to Controller.
Reference the queue_lock through the controller structure,
rather than through the request queue. These macros are
used to mutex on the controller structure during initialization,
BEFORE the request queue is allocated and initialized in
DAC960_RegisterBlockDevice().
*/
static
inline
void
DAC960_AcquireControllerLock
(
DAC960_Controller_T
*
Controller
,
ProcessorFlags_T
*
ProcessorFlags
)
{
spin_lock_irqsave
(
&
Controller
->
queue_lock
,
*
ProcessorFlags
);
}
/*
DAC960_ReleaseControllerLock releases exclusive access to Controller.
*/
static
inline
void
DAC960_ReleaseControllerLock
(
DAC960_Controller_T
*
Controller
,
ProcessorFlags_T
*
ProcessorFlags
)
{
spin_unlock_irqrestore
(
&
Controller
->
queue_lock
,
*
ProcessorFlags
);
}
/*
DAC960_AcquireControllerLockRF acquires exclusive access to Controller,
but is only called from the request function with the queue lock held.
*/
static
inline
void
DAC960_AcquireControllerLockRF
(
DAC960_Controller_T
*
Controller
,
ProcessorFlags_T
*
ProcessorFlags
)
{
}
/*
DAC960_ReleaseControllerLockRF releases exclusive access to Controller,
but is only called from the request function with the queue lock held.
*/
static
inline
void
DAC960_ReleaseControllerLockRF
(
DAC960_Controller_T
*
Controller
,
ProcessorFlags_T
*
ProcessorFlags
)
{
}
/*
DAC960_AcquireControllerLockIH acquires exclusive access to Controller,
but is only called from the interrupt handler.
*/
static
inline
void
DAC960_AcquireControllerLockIH
(
DAC960_Controller_T
*
Controller
,
ProcessorFlags_T
*
ProcessorFlags
)
{
spin_lock_irqsave
(
&
Controller
->
queue_lock
,
*
ProcessorFlags
);
}
/*
DAC960_ReleaseControllerLockIH releases exclusive access to Controller,
but is only called from the interrupt handler.
*/
static
inline
void
DAC960_ReleaseControllerLockIH
(
DAC960_Controller_T
*
Controller
,
ProcessorFlags_T
*
ProcessorFlags
)
{
spin_unlock_irqrestore
(
&
Controller
->
queue_lock
,
*
ProcessorFlags
);
}
/*
Define the DAC960 BA Series Controller Interface Register Offsets.
*/
...
...
@@ -4230,17 +4128,18 @@ void DAC960_P_To_PD_TranslateReadWriteCommand(DAC960_V1_CommandMailbox_T
static
void
DAC960_FinalizeController
(
DAC960_Controller_T
*
);
static
void
DAC960_V1_QueueReadWriteCommand
(
DAC960_Command_T
*
);
static
void
DAC960_V2_QueueReadWriteCommand
(
DAC960_Command_T
*
);
static
void
DAC960_RequestFunction
(
RequestQueue_T
*
);
static
irqreturn_t
DAC960_BA_InterruptHandler
(
int
,
void
*
,
Registers_T
*
);
static
irqreturn_t
DAC960_LP_InterruptHandler
(
int
,
void
*
,
Registers_T
*
);
static
irqreturn_t
DAC960_LA_InterruptHandler
(
int
,
void
*
,
Registers_T
*
);
static
irqreturn_t
DAC960_PG_InterruptHandler
(
int
,
void
*
,
Registers_T
*
);
static
irqreturn_t
DAC960_PD_InterruptHandler
(
int
,
void
*
,
Registers_T
*
);
static
irqreturn_t
DAC960_P_InterruptHandler
(
int
,
void
*
,
Registers_T
*
);
static
void
DAC960_RequestFunction
(
struct
request_queue
*
);
static
irqreturn_t
DAC960_BA_InterruptHandler
(
int
,
void
*
,
struct
pt_regs
*
);
static
irqreturn_t
DAC960_LP_InterruptHandler
(
int
,
void
*
,
struct
pt_regs
*
);
static
irqreturn_t
DAC960_LA_InterruptHandler
(
int
,
void
*
,
struct
pt_regs
*
);
static
irqreturn_t
DAC960_PG_InterruptHandler
(
int
,
void
*
,
struct
pt_regs
*
);
static
irqreturn_t
DAC960_PD_InterruptHandler
(
int
,
void
*
,
struct
pt_regs
*
);
static
irqreturn_t
DAC960_P_InterruptHandler
(
int
,
void
*
,
struct
pt_regs
*
);
static
void
DAC960_V1_QueueMonitoringCommand
(
DAC960_Command_T
*
);
static
void
DAC960_V2_QueueMonitoringCommand
(
DAC960_Command_T
*
);
static
void
DAC960_MonitoringTimerFunction
(
unsigned
long
);
static
int
DAC960_UserIOCTL
(
Inode_T
*
,
File_T
*
,
unsigned
int
,
unsigned
long
);
static
int
DAC960_UserIOCTL
(
struct
inode
*
,
struct
file
*
,
unsigned
int
,
unsigned
long
);
static
void
DAC960_Message
(
DAC960_MessageLevel_T
,
unsigned
char
*
,
DAC960_Controller_T
*
,
...);
static
void
DAC960_CreateProcEntries
(
DAC960_Controller_T
*
);
...
...
drivers/block/cciss_scsi.c
View file @
4e4d6a6f
...
...
@@ -1046,7 +1046,7 @@ cciss_update_non_disk_devices(int cntl_num, int hostno)
}
else
{
printk
(
KERN_ERR
"cciss: Report physical LUNs failed.
\n
"
);
return
;
goto
out
;
}
...
...
@@ -1091,7 +1091,7 @@ cciss_update_non_disk_devices(int cntl_num, int hostno)
}
adjust_cciss_scsi_table
(
cntl_num
,
hostno
,
currentsd
,
ncurrent
);
out:
kfree
(
inq_buff
);
kfree
(
ld_buff
);
return
;
...
...
drivers/block/loop.c
View file @
4e4d6a6f
...
...
@@ -651,7 +651,8 @@ static int loop_set_fd(struct loop_device *lo, struct file *lo_file,
int
lo_flags
=
0
;
int
error
;
MOD_INC_USE_COUNT
;
/* This is safe, since we have a reference from open(). */
__module_get
(
THIS_MODULE
);
error
=
-
EBUSY
;
if
(
lo
->
lo_state
!=
Lo_unbound
)
...
...
@@ -751,7 +752,8 @@ static int loop_set_fd(struct loop_device *lo, struct file *lo_file,
out_putf:
fput
(
file
);
out:
MOD_DEC_USE_COUNT
;
/* This is safe: open() is still holding a reference. */
module_put
(
THIS_MODULE
);
return
error
;
}
...
...
@@ -824,7 +826,8 @@ static int loop_clr_fd(struct loop_device *lo, struct block_device *bdev)
filp
->
f_dentry
->
d_inode
->
i_mapping
->
gfp_mask
=
gfp
;
lo
->
lo_state
=
Lo_unbound
;
fput
(
filp
);
MOD_DEC_USE_COUNT
;
/* This is safe: open() is still holding a reference. */
module_put
(
THIS_MODULE
);
return
0
;
}
...
...
drivers/char/ipmi/ipmi_msghandler.c
View file @
4e4d6a6f
...
...
@@ -174,7 +174,7 @@ struct ipmi_smi
int
ipmi_register_all_cmd_rcvr
(
ipmi_user_t
user
)
{
int
flags
;
unsigned
long
flags
;
int
rv
=
-
EBUSY
;
write_lock_irqsave
(
&
(
user
->
intf
->
users_lock
),
flags
);
...
...
@@ -193,7 +193,7 @@ ipmi_register_all_cmd_rcvr(ipmi_user_t user)
int
ipmi_unregister_all_cmd_rcvr
(
ipmi_user_t
user
)
{
int
flags
;
unsigned
long
flags
;
int
rv
=
-
EINVAL
;
write_lock_irqsave
(
&
(
user
->
intf
->
users_lock
),
flags
);
...
...
@@ -1023,7 +1023,7 @@ int ipmi_register_smi(struct ipmi_smi_handlers *handlers,
int
rv
;
ipmi_smi_t
new_intf
;
struct
list_head
*
entry
;
unsigned
int
flags
;
unsigned
long
flags
;
/* Make sure the driver is actually initialized, this handles
...
...
@@ -1148,7 +1148,7 @@ int ipmi_unregister_smi(ipmi_smi_t intf)
int
rv
=
-
ENODEV
;
int
i
;
struct
list_head
*
entry
;
unsigned
int
flags
;
unsigned
long
flags
;
down_write
(
&
interfaces_sem
);
if
(
list_empty
(
&
(
intf
->
users
)))
...
...
drivers/char/mem.c
View file @
4e4d6a6f
...
...
@@ -522,7 +522,7 @@ static loff_t null_lseek(struct file * file, loff_t offset, int orig)
*/
static
loff_t
memory_lseek
(
struct
file
*
file
,
loff_t
offset
,
int
orig
)
{
in
t
ret
;
loff_
t
ret
;
lock_kernel
();
switch
(
orig
)
{
...
...
drivers/char/pcmcia/synclink_cs.c
View file @
4e4d6a6f
/*
* linux/drivers/char/pcmcia/synclink_cs.c
*
* $Id: synclink_cs.c,v 4.
6 2003/04/21 17:46:55
paulkf Exp $
* $Id: synclink_cs.c,v 4.
10 2003/05/13 16:06:03
paulkf Exp $
*
* Device driver for Microgate SyncLink PC Card
* multiprotocol serial adapter.
...
...
@@ -430,7 +430,7 @@ static void rx_reset_buffers(MGSLPC_INFO *info);
static
int
rx_alloc_buffers
(
MGSLPC_INFO
*
info
);
static
void
rx_free_buffers
(
MGSLPC_INFO
*
info
);
static
void
mgslpc_isr
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
);
static
irqreturn_t
mgslpc_isr
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
);
/*
* Bottom half interrupt handlers
...
...
@@ -476,6 +476,7 @@ static int cuamajor=0;
static
int
debug_level
=
0
;
static
int
maxframe
[
MAX_DEVICE_COUNT
]
=
{
0
,};
static
int
dosyncppp
[
MAX_DEVICE_COUNT
]
=
{
1
,
1
,
1
,
1
};
/* The old way: bit map of interrupts to choose from */
/* This means pick from 15, 14, 12, 11, 10, 9, 7, 5, 4, and 3 */
...
...
@@ -492,11 +493,12 @@ MODULE_PARM(ttymajor,"i");
MODULE_PARM
(
cuamajor
,
"i"
);
MODULE_PARM
(
debug_level
,
"i"
);
MODULE_PARM
(
maxframe
,
"1-"
__MODULE_STRING
(
MAX_DEVICE_COUNT
)
"i"
);
MODULE_PARM
(
dosyncppp
,
"1-"
__MODULE_STRING
(
MAX_DEVICE_COUNT
)
"i"
);
MODULE_LICENSE
(
"GPL"
);
static
char
*
driver_name
=
"SyncLink PC Card driver"
;
static
char
*
driver_version
=
"$Revision: 4.
6
$"
;
static
char
*
driver_version
=
"$Revision: 4.
10
$"
;
static
struct
tty_driver
serial_driver
,
callout_driver
;
static
int
serial_refcount
;
...
...
@@ -574,9 +576,6 @@ static dev_link_t *mgslpc_attach(void)
link
->
priv
=
info
;
/* Initialize the dev_link_t structure */
init_timer
(
&
link
->
release
);
link
->
release
.
function
=
&
mgslpc_release
;
link
->
release
.
data
=
(
u_long
)
link
;
/* Interrupt setup */
link
->
irq
.
Attributes
=
IRQ_TYPE_EXCLUSIVE
;
...
...
@@ -813,7 +812,7 @@ static int mgslpc_event(event_t event, int priority,
link
->
state
&=
~
DEV_PRESENT
;
if
(
link
->
state
&
DEV_CONFIG
)
{
((
MGSLPC_INFO
*
)
link
->
priv
)
->
stop
=
1
;
m
od_timer
(
&
link
->
release
,
jiffies
+
HZ
/
20
);
m
gslpc_release
((
u_long
)
link
);
}
break
;
case
CS_EVENT_CARD_INSERTION
:
...
...
@@ -1356,7 +1355,7 @@ void ri_change(MGSLPC_INFO *info)
* dev_id device ID supplied during interrupt registration
* regs interrupted processor context
*/
static
void
mgslpc_isr
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
static
irqreturn_t
mgslpc_isr
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
MGSLPC_INFO
*
info
=
(
MGSLPC_INFO
*
)
dev_id
;
unsigned
short
isr
;
...
...
@@ -1366,10 +1365,10 @@ static void mgslpc_isr(int irq, void *dev_id, struct pt_regs * regs)
if
(
debug_level
>=
DEBUG_LEVEL_ISR
)
printk
(
"mgslpc_isr(%d) entry.
\n
"
,
irq
);
if
(
!
info
)
return
;
return
IRQ_NONE
;
if
(
!
(
info
->
link
.
state
&
DEV_CONFIG
))
return
;
return
IRQ_HANDLED
;
spin_lock
(
&
info
->
lock
);
...
...
@@ -1459,6 +1458,8 @@ static void mgslpc_isr(int irq, void *dev_id, struct pt_regs * regs)
if
(
debug_level
>=
DEBUG_LEVEL_ISR
)
printk
(
"%s(%d):mgslpc_isr(%d)exit.
\n
"
,
__FILE__
,
__LINE__
,
irq
);
return
IRQ_HANDLED
;
}
/* Initialize and start device.
...
...
@@ -3113,8 +3114,7 @@ void mgslpc_add_device(MGSLPC_INFO *info)
if
(
info
->
line
<
MAX_DEVICE_COUNT
)
{
if
(
maxframe
[
info
->
line
])
info
->
max_frame_size
=
maxframe
[
info
->
line
];
// info->dosyncppp = dosyncppp[info->line];
info
->
dosyncppp
=
1
;
info
->
dosyncppp
=
dosyncppp
[
info
->
line
];
}
mgslpc_device_count
++
;
...
...
@@ -3276,7 +3276,6 @@ static void __exit synclink_cs_exit(void)
unregister_pccard_driver
(
&
dev_info
);
while
(
dev_list
!=
NULL
)
{
del_timer
(
&
dev_list
->
release
);
if
(
dev_list
->
state
&
DEV_CONFIG
)
mgslpc_release
((
u_long
)
dev_list
);
mgslpc_detach
(
dev_list
);
...
...
drivers/hotplug/acpiphp_glue.c
View file @
4e4d6a6f
...
...
@@ -203,6 +203,7 @@ register_slot (acpi_handle handle, u32 lvl, void *context, void **rv)
if
(
ACPI_FAILURE
(
status
))
{
err
(
"failed to register interrupt notify handler
\n
"
);
kfree
(
newfunc
);
return
status
;
}
...
...
drivers/isdn/i4l/isdn_x25iface.c
View file @
4e4d6a6f
...
...
@@ -222,6 +222,8 @@ int isdn_x25iface_connect_ind(struct concap_proto *cprot)
printk
(
KERN_WARNING
"isdn_x25iface_connect_ind while unconfigured %s
\n
"
,
MY_DEVNAME
(
cprot
->
net_dev
)
);
if
(
skb
)
dev_kfree_skb
(
skb
);
return
-
1
;
}
*
state_p
=
WAN_CONNECTED
;
...
...
drivers/isdn/pcbit/drv.c
View file @
4e4d6a6f
...
...
@@ -1071,6 +1071,7 @@ static void pcbit_set_msn(struct pcbit_dev *dev, char *list)
ptr
->
msn
=
kmalloc
(
len
,
GFP_ATOMIC
);
if
(
!
ptr
->
msn
)
{
printk
(
KERN_WARNING
"kmalloc failed
\n
"
);
kfree
(
ptr
);
return
;
}
...
...
drivers/md/dm-ioctl.c
View file @
4e4d6a6f
...
...
@@ -278,6 +278,7 @@ int dm_hash_rename(const char *old, const char *new)
DMWARN
(
"asked to rename to an already existing name %s -> %s"
,
old
,
new
);
up_write
(
&
_hash_lock
);
kfree
(
new_name
);
return
-
EBUSY
;
}
...
...
@@ -289,6 +290,7 @@ int dm_hash_rename(const char *old, const char *new)
DMWARN
(
"asked to rename a non existent device %s -> %s"
,
old
,
new
);
up_write
(
&
_hash_lock
);
kfree
(
new_name
);
return
-
ENXIO
;
}
...
...
drivers/md/dm-target.c
View file @
4e4d6a6f
...
...
@@ -122,6 +122,8 @@ int dm_register_target(struct target_type *t)
list_add
(
&
ti
->
list
,
&
_targets
);
up_write
(
&
_lock
);
if
(
rv
)
kfree
(
ti
);
return
rv
;
}
...
...
drivers/media/radio/miropcm20-rds.c
View file @
4e4d6a6f
...
...
@@ -12,6 +12,7 @@
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/fs.h>
#include <linux/miscdevice.h>
#include <asm/uaccess.h>
#include "miropcm20-rds-core.h"
...
...
drivers/media/video/bt819.c
View file @
4e4d6a6f
...
...
@@ -167,6 +167,7 @@ static int bt819_attach(struct i2c_adapter *adap, int addr , unsigned long flags
decoder
=
kmalloc
(
sizeof
(
struct
bt819
),
GFP_KERNEL
);
if
(
decoder
==
NULL
)
{
MOD_DEC_USE_COUNT
;
kfree
(
client
);
return
-
ENOMEM
;
}
...
...
drivers/media/video/videodev.c
View file @
4e4d6a6f
...
...
@@ -311,8 +311,10 @@ static void videodev_proc_create_dev (struct video_device *vfd, char *name)
return
;
p
=
create_proc_entry
(
name
,
S_IFREG
|
S_IRUGO
|
S_IWUSR
,
video_dev_proc_entry
);
if
(
!
p
)
if
(
!
p
)
{
kfree
(
d
);
return
;
}
p
->
data
=
vfd
;
p
->
read_proc
=
videodev_proc_read
;
...
...
drivers/message/i2o/i2o_core.c
View file @
4e4d6a6f
...
...
@@ -2018,15 +2018,14 @@ static int i2o_systab_send(struct i2o_controller *iop)
{
printk
(
KERN_ERR
"%s: Unable to set SysTab (status=%#x).
\n
"
,
iop
->
name
,
-
ret
);
kfree
(
privbuf
);
}
else
{
dprintk
(
KERN_INFO
"%s: SysTab set.
\n
"
,
iop
->
name
);
kfree
(
privbuf
);
}
i2o_status_get
(
iop
);
// Entered READY state
kfree
(
privbuf
);
return
ret
;
}
...
...
drivers/mtd/chips/cfi_cmdset_0001.c
View file @
4e4d6a6f
...
...
@@ -203,6 +203,7 @@ static struct mtd_info *cfi_intelext_setup(struct map_info *map)
if
(
!
mtd
->
eraseregions
)
{
printk
(
KERN_ERR
"Failed to allocate memory for MTD erase region info
\n
"
);
kfree
(
cfi
->
cmdset_priv
);
kfree
(
mtd
);
return
NULL
;
}
...
...
@@ -227,6 +228,7 @@ static struct mtd_info *cfi_intelext_setup(struct map_info *map)
printk
(
KERN_WARNING
"Sum of regions (%lx) != total size of set of interleaved chips (%lx)
\n
"
,
offset
,
devsize
);
kfree
(
mtd
->
eraseregions
);
kfree
(
cfi
->
cmdset_priv
);
kfree
(
mtd
);
return
NULL
;
}
...
...
drivers/mtd/chips/cfi_cmdset_0002.c
View file @
4e4d6a6f
...
...
@@ -174,6 +174,7 @@ static struct mtd_info *cfi_amdstd_setup(struct map_info *map)
if
(
!
mtd
->
eraseregions
)
{
printk
(
KERN_WARNING
"Failed to allocate memory for MTD erase region info
\n
"
);
kfree
(
cfi
->
cmdset_priv
);
kfree
(
mtd
);
return
NULL
;
}
...
...
@@ -197,6 +198,7 @@ static struct mtd_info *cfi_amdstd_setup(struct map_info *map)
printk
(
KERN_WARNING
"Sum of regions (%lx) != total size of set of interleaved chips (%lx)
\n
"
,
offset
,
devsize
);
kfree
(
mtd
->
eraseregions
);
kfree
(
cfi
->
cmdset_priv
);
kfree
(
mtd
);
return
NULL
;
}
#if 0
...
...
drivers/mtd/chips/sharp.c
View file @
4e4d6a6f
...
...
@@ -116,8 +116,10 @@ struct mtd_info *sharp_probe(struct map_info *map)
return
NULL
;
sharp
=
kmalloc
(
sizeof
(
*
sharp
),
GFP_KERNEL
);
if
(
!
sharp
)
if
(
!
sharp
)
{
kfree
(
mtd
);
return
NULL
;
}
memset
(
mtd
,
0
,
sizeof
(
*
mtd
));
...
...
drivers/net/cs89x0.c
View file @
4e4d6a6f
...
...
@@ -1630,16 +1630,21 @@ static void set_multicast_list(struct net_device *dev)
}
static
int
set_mac_address
(
struct
net_device
*
dev
,
void
*
addr
)
static
int
set_mac_address
(
struct
net_device
*
dev
,
void
*
p
)
{
int
i
;
struct
sockaddr
*
addr
=
p
;
if
(
netif_running
(
dev
))
return
-
EBUSY
;
memcpy
(
dev
->
dev_addr
,
addr
->
sa_data
,
dev
->
addr_len
);
if
(
net_debug
)
{
printk
(
"%s: Setting MAC address to "
,
dev
->
name
);
for
(
i
=
0
;
i
<
6
;
i
++
)
printk
(
" %2.2x"
,
dev
->
dev_addr
[
i
]
=
((
unsigned
char
*
)
addr
)[
i
]
);
for
(
i
=
0
;
i
<
dev
->
addr_len
;
i
++
)
printk
(
" %2.2x"
,
dev
->
dev_addr
[
i
]);
printk
(
".
\n
"
);
}
/* set the Ethernet address */
...
...
fs/exec.c
View file @
4e4d6a6f
...
...
@@ -287,7 +287,8 @@ int copy_strings_kernel(int argc,char ** argv, struct linux_binprm *bprm)
*
* tsk->mmap_sem is held for writing.
*/
void
put_dirty_page
(
struct
task_struct
*
tsk
,
struct
page
*
page
,
unsigned
long
address
)
void
put_dirty_page
(
struct
task_struct
*
tsk
,
struct
page
*
page
,
unsigned
long
address
,
pgprot_t
prot
)
{
pgd_t
*
pgd
;
pmd_t
*
pmd
;
...
...
@@ -295,7 +296,8 @@ void put_dirty_page(struct task_struct * tsk, struct page *page, unsigned long a
struct
pte_chain
*
pte_chain
;
if
(
page_count
(
page
)
!=
1
)
printk
(
KERN_ERR
"mem_map disagrees with %p at %08lx
\n
"
,
page
,
address
);
printk
(
KERN_ERR
"mem_map disagrees with %p at %08lx
\n
"
,
page
,
address
);
pgd
=
pgd_offset
(
tsk
->
mm
,
address
);
pte_chain
=
pte_chain_alloc
(
GFP_KERNEL
);
...
...
@@ -314,7 +316,7 @@ void put_dirty_page(struct task_struct * tsk, struct page *page, unsigned long a
}
lru_cache_add_active
(
page
);
flush_dcache_page
(
page
);
set_pte
(
pte
,
pte_mkdirty
(
pte_mkwrite
(
mk_pte
(
page
,
PAGE_COPY
))));
set_pte
(
pte
,
pte_mkdirty
(
pte_mkwrite
(
mk_pte
(
page
,
prot
))));
pte_chain
=
page_add_rmap
(
page
,
pte
,
pte_chain
);
pte_unmap
(
pte
);
tsk
->
mm
->
rss
++
;
...
...
@@ -421,7 +423,8 @@ int setup_arg_pages(struct linux_binprm *bprm)
struct
page
*
page
=
bprm
->
page
[
i
];
if
(
page
)
{
bprm
->
page
[
i
]
=
NULL
;
put_dirty_page
(
current
,
page
,
stack_base
);
put_dirty_page
(
current
,
page
,
stack_base
,
mpnt
->
vm_page_prot
);
}
stack_base
+=
PAGE_SIZE
;
}
...
...
@@ -434,8 +437,6 @@ int setup_arg_pages(struct linux_binprm *bprm)
#else
#define put_dirty_page(tsk, page, address)
#define setup_arg_pages(bprm) (0)
static
inline
void
free_arg_pages
(
struct
linux_binprm
*
bprm
)
{
int
i
;
...
...
include/asm-i386/mach-visws/mach_apic.h
View file @
4e4d6a6f
...
...
@@ -19,6 +19,14 @@
#define check_apicid_used(bitmap, apicid) (bitmap & (1 << apicid))
#define check_apicid_present(bit) (phys_cpu_present_map & (1 << bit))
#define APIC_ID_MASK (0xF<<24)
static
inline
unsigned
get_apic_id
(
unsigned
long
x
)
{
return
(((
x
)
>>
24
)
&
0xF
);
}
#define GET_APIC_ID(x) get_apic_id(x)
static
inline
int
apic_id_registered
(
void
)
{
return
(
test_bit
(
GET_APIC_ID
(
apic_read
(
APIC_ID
)),
...
...
include/linux/mm.h
View file @
4e4d6a6f
...
...
@@ -111,10 +111,14 @@ struct vm_area_struct {
#define VM_ACCOUNT 0x00100000
/* Is a VM accounted object */
#define VM_HUGETLB 0x00400000
/* Huge TLB Page VM */
#ifndef VM_STACK_DEFAULT_FLAGS
/* arch can override this */
#define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS
#endif
#ifdef CONFIG_STACK_GROWSUP
#define VM_STACK_FLAGS (VM_GROWSUP | VM_
DATA
_DEFAULT_FLAGS | VM_ACCOUNT)
#define VM_STACK_FLAGS (VM_GROWSUP | VM_
STACK
_DEFAULT_FLAGS | VM_ACCOUNT)
#else
#define VM_STACK_FLAGS (VM_GROWSDOWN | VM_
DATA
_DEFAULT_FLAGS | VM_ACCOUNT)
#define VM_STACK_FLAGS (VM_GROWSDOWN | VM_
STACK
_DEFAULT_FLAGS | VM_ACCOUNT)
#endif
#define VM_READHINTMASK (VM_SEQ_READ | VM_RAND_READ)
...
...
@@ -426,7 +430,8 @@ extern int handle_mm_fault(struct mm_struct *mm,struct vm_area_struct *vma, unsi
extern
int
make_pages_present
(
unsigned
long
addr
,
unsigned
long
end
);
extern
int
access_process_vm
(
struct
task_struct
*
tsk
,
unsigned
long
addr
,
void
*
buf
,
int
len
,
int
write
);
extern
long
sys_remap_file_pages
(
unsigned
long
start
,
unsigned
long
size
,
unsigned
long
prot
,
unsigned
long
pgoff
,
unsigned
long
nonblock
);
void
put_dirty_page
(
struct
task_struct
*
tsk
,
struct
page
*
page
,
unsigned
long
address
,
pgprot_t
prot
);
int
get_user_pages
(
struct
task_struct
*
tsk
,
struct
mm_struct
*
mm
,
unsigned
long
start
,
int
len
,
int
write
,
int
force
,
struct
page
**
pages
,
struct
vm_area_struct
**
vmas
);
...
...
include/linux/smp.h
View file @
4e4d6a6f
...
...
@@ -74,10 +74,6 @@ static inline int on_each_cpu(void (*func) (void *info), void *info,
*/
extern
int
smp_threads_ready
;
extern
volatile
unsigned
long
smp_msg_data
;
extern
volatile
int
smp_src_cpu
;
extern
volatile
int
smp_msg_id
;
#define MSG_ALL_BUT_SELF 0x8000
/* Assume <32768 CPU's */
#define MSG_ALL 0x8001
...
...
include/linux/spinlock.h
View file @
4e4d6a6f
...
...
@@ -79,10 +79,10 @@ typedef struct {
do { \
CHECK_LOCK(x); \
if ((x)->lock&&(x)->babble) { \
(x)->babble--; \
printk("%s:%d: spin_lock(%s:%p) already locked by %s/%d\n", \
__FILE__,__LINE__, (x)->module, \
(x), (x)->owner, (x)->oline); \
(x)->babble--; \
} \
(x)->lock = 1; \
(x)->owner = __FILE__; \
...
...
@@ -95,10 +95,10 @@ typedef struct {
({ \
CHECK_LOCK(x); \
if ((x)->lock&&(x)->babble) { \
(x)->babble--; \
printk("%s:%d: spin_is_locked(%s:%p) already locked by %s/%d\n", \
__FILE__,__LINE__, (x)->module, \
(x), (x)->owner, (x)->oline); \
(x)->babble--; \
} \
0; \
})
...
...
@@ -109,10 +109,10 @@ typedef struct {
({ \
CHECK_LOCK(x); \
if ((x)->lock&&(x)->babble) { \
(x)->babble--; \
printk("%s:%d: spin_trylock(%s:%p) already locked by %s/%d\n", \
__FILE__,__LINE__, (x)->module, \
(x), (x)->owner, (x)->oline); \
(x)->babble--; \
} \
(x)->lock = 1; \
(x)->owner = __FILE__; \
...
...
@@ -124,10 +124,10 @@ typedef struct {
do { \
CHECK_LOCK(x); \
if ((x)->lock&&(x)->babble) { \
(x)->babble--; \
printk("%s:%d: spin_unlock_wait(%s:%p) owned by %s/%d\n", \
__FILE__,__LINE__, (x)->module, (x), \
(x)->owner, (x)->oline); \
(x)->babble--; \
}\
} while (0)
...
...
@@ -135,9 +135,9 @@ typedef struct {
do { \
CHECK_LOCK(x); \
if (!(x)->lock&&(x)->babble) { \
(x)->babble--; \
printk("%s:%d: spin_unlock(%s:%p) not locked\n", \
__FILE__,__LINE__, (x)->module, (x));\
(x)->babble--; \
} \
(x)->lock = 0; \
} while (0)
...
...
sound/core/info.c
View file @
4e4d6a6f
...
...
@@ -1080,7 +1080,7 @@ snd_info_entry_t *snd_info_create_device(const char *name, unsigned int number,
entry
->
p
=
p
;
up
(
&
info_mutex
);
if
(
strncmp
(
name
,
"controlC"
,
8
)
=
=
0
)
/* created in sound.c */
if
(
strncmp
(
name
,
"controlC"
,
8
)
!
=
0
)
/* created in sound.c */
devfs_mk_cdev
(
MKDEV
(
_major
,
minor
),
mode
,
"snd/%s"
,
name
);
return
entry
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment