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
Kirill Smelkov
linux
Commits
1ae1c847
Commit
1ae1c847
authored
Nov 23, 2007
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Import 1.3.13
parent
cac3e1c7
Changes
20
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
504 additions
and
275 deletions
+504
-275
CREDITS
CREDITS
+8
-0
Makefile
Makefile
+1
-1
arch/alpha/kernel/osf_sys.c
arch/alpha/kernel/osf_sys.c
+1
-1
arch/alpha/kernel/traps.c
arch/alpha/kernel/traps.c
+2
-2
drivers/char/psaux.c
drivers/char/psaux.c
+19
-15
drivers/net/ppp.c
drivers/net/ppp.c
+22
-0
drivers/scsi/ChangeLog
drivers/scsi/ChangeLog
+82
-3
drivers/scsi/eata_dma.c
drivers/scsi/eata_dma.c
+83
-79
drivers/scsi/eata_dma.h
drivers/scsi/eata_dma.h
+7
-6
drivers/scsi/eata_dma_proc.c
drivers/scsi/eata_dma_proc.c
+145
-153
drivers/scsi/scsi.c
drivers/scsi/scsi.c
+48
-4
drivers/scsi/scsi.h
drivers/scsi/scsi.h
+2
-0
drivers/scsi/scsi_proc.c
drivers/scsi/scsi_proc.c
+58
-1
drivers/scsi/scsi_syms.c
drivers/scsi/scsi_syms.c
+3
-0
fs/hpfs/hpfs_fs.c
fs/hpfs/hpfs_fs.c
+1
-1
fs/proc/inode.c
fs/proc/inode.c
+1
-1
kernel/itimer.c
kernel/itimer.c
+10
-4
kernel/ksyms.c
kernel/ksyms.c
+3
-0
kernel/sched.c
kernel/sched.c
+5
-1
lib/string.c
lib/string.c
+3
-3
No files found.
CREDITS
View file @
1ae1c847
...
...
@@ -15,6 +15,14 @@ N: Werner Almesberger
E: almesber@bernina.ethz.ch
D: dosfs, LILO, some fd features, various other hacks here and there
N: H. Peter Anvin
E: Peter.Anvin@linux.org
D: Author of the SYSLINUX boot loader, maintainer of the linux.* news
D: hierarchy, responsible for various console and other hacks
S: 4390 Albany Dr. #46
S: San Jose CA 95129
S: USA
N: Derek Atkins
E: warlord@MIT.EDU
D: Linux-AFS Port, random kernel hacker,
...
...
Makefile
View file @
1ae1c847
VERSION
=
1
PATCHLEVEL
=
3
SUBLEVEL
=
1
2
SUBLEVEL
=
1
3
ARCH
=
i386
...
...
arch/alpha/kernel/osf_sys.c
View file @
1ae1c847
...
...
@@ -160,7 +160,7 @@ asmlinkage unsigned long osf_mmap(unsigned long addr, unsigned long len,
struct
file
*
file
=
NULL
;
if
(
flags
&
(
MAP_HASSEMAPHORE
|
MAP_INHERIT
|
MAP_UNALIGNED
))
printk
(
"%s: unimplemented OSF mmap flags %04lx
\n
"
,
current
->
comm
,
osf_
flags
);
printk
(
"%s: unimplemented OSF mmap flags %04lx
\n
"
,
current
->
comm
,
flags
);
if
(
!
(
flags
&
MAP_ANONYMOUS
))
{
if
(
fd
>=
NR_OPEN
||
!
(
file
=
current
->
files
->
fd
[
fd
]))
return
-
EBADF
;
...
...
arch/alpha/kernel/traps.c
View file @
1ae1c847
...
...
@@ -142,7 +142,7 @@ asmlinkage void do_entUna(void * va, unsigned long opcode, unsigned long reg,
/*
* Handle user-level unaligned fault. For now, simply send a
* SIG
SEGV
---there should be little reason for users not wanting to
* SIG
BUS
---there should be little reason for users not wanting to
* fix their code instead. Notice that we have the regular kernel
* stack layout here, so finding the appropriate registers is a little
* more difficult than in the kernel case. Also, we'd need to do
...
...
@@ -153,7 +153,7 @@ asmlinkage void do_entUnaUser(void *va, unsigned long opcode, unsigned long reg,
struct
pt_regs
regs
)
{
regs
.
pc
-=
4
;
/* make pc point to faulting insn */
send_sig
(
SIG
SEGV
,
current
,
1
);
send_sig
(
SIG
BUS
,
current
,
1
);
}
/*
...
...
drivers/char/psaux.c
View file @
1ae1c847
...
...
@@ -12,13 +12,13 @@
* Changed to prevent keyboard lockups on AST Power Exec.
* 28Jul93 Brad Bosch - brad@lachman.com
*
* Modified by Johan Myreen (jem
@cs.hut
.fi) 04Aug93
* Modified by Johan Myreen (jem
pandora.pp
.fi) 04Aug93
* to include support for QuickPort mouse.
*
* Changed references to "QuickPort" with "82C710" since "QuickPort"
* is not what this driver is all about -- QuickPort is just a
* connector type, and this driver is for the mouse port on the Chips
* & Technologies 82C710 interface chip. 15Nov93 jem@
cs.hut
.fi
* & Technologies 82C710 interface chip. 15Nov93 jem@
pandora.pp
.fi
*/
/* Uncomment the following line if your mouse needs initialization. */
...
...
@@ -103,6 +103,7 @@ static int aux_ready = 0;
static
int
aux_busy
=
0
;
static
int
aux_present
=
0
;
static
int
poll_aux_status
(
void
);
static
int
poll_aux_status_nosleep
(
void
);
#ifdef CONFIG_82C710_MOUSE
static
int
qp_present
=
0
;
...
...
@@ -121,9 +122,9 @@ static int probe_qp(void);
static
void
aux_write_dev
(
int
val
)
{
poll_aux_status
();
poll_aux_status
_nosleep
();
outb_p
(
AUX_MAGIC_WRITE
,
AUX_COMMAND
);
/* write magic cookie */
poll_aux_status
();
poll_aux_status
_nosleep
();
outb_p
(
val
,
AUX_OUTPUT_PORT
);
/* write data */
}
...
...
@@ -137,13 +138,7 @@ static int aux_write_ack(int val)
int
retries
=
0
;
aux_write_dev
(
val
);
/* write the value to the device */
while
((
inb
(
AUX_STATUS
)
&
AUX_OBUF_FULL
)
!=
AUX_OBUF_FULL
&&
retries
<
MAX_RETRIES
)
{
/* wait for ack */
current
->
state
=
TASK_INTERRUPTIBLE
;
current
->
timeout
=
jiffies
+
(
5
*
HZ
+
99
)
/
100
;
schedule
();
retries
++
;
}
poll_aux_status_nosleep
();
if
((
inb
(
AUX_STATUS
)
&
AUX_OBUF_FULL
)
==
AUX_OBUF_FULL
)
{
...
...
@@ -451,14 +446,12 @@ unsigned long psaux_init(unsigned long kmem_start)
psaux_fops
.
write
=
write_qp
;
psaux_fops
.
open
=
open_qp
;
psaux_fops
.
release
=
release_qp
;
poll_qp_status
();
}
else
#endif
if
(
aux_device_present
==
0xaa
)
{
printk
(
"PS/2 auxiliary pointing device detected -- driver installed.
\n
"
);
aux_present
=
1
;
kbd_read_mask
=
AUX_OBUF_FULL
;
poll_aux_status
();
}
else
{
return
kmem_start
;
/* No mouse at all */
}
...
...
@@ -474,11 +467,10 @@ unsigned long psaux_init(unsigned long kmem_start)
aux_write_ack
(
AUX_SET_RES
);
aux_write_ack
(
3
);
/* 8 counts per mm */
aux_write_ack
(
AUX_SET_SCALE21
);
/* 2:1 scaling */
poll_aux_status
();
poll_aux_status
_nosleep
();
#endif
/* INITIALIZE_DEVICE */
outb_p
(
AUX_DISABLE
,
AUX_COMMAND
);
/* Disable Aux device */
aux_write_cmd
(
AUX_INTS_OFF
);
/* disable controller ints */
poll_aux_status
();
}
return
kmem_start
;
}
...
...
@@ -498,6 +490,18 @@ static int poll_aux_status(void)
return
!
(
retries
==
MAX_RETRIES
);
}
static
int
poll_aux_status_nosleep
(
void
)
{
int
retries
=
0
;
while
((
inb
(
AUX_STATUS
)
&
0x03
)
&&
retries
<
1000000
)
{
if
((
inb_p
(
AUX_STATUS
)
&
AUX_OBUF_FULL
)
==
AUX_OBUF_FULL
)
inb_p
(
AUX_INPUT_PORT
);
retries
++
;
}
return
!
(
retries
==
1000000
);
}
#ifdef CONFIG_82C710_MOUSE
/*
* Wait for device to send output char and flush any input char.
...
...
drivers/net/ppp.c
View file @
1ae1c847
...
...
@@ -1268,6 +1268,12 @@ ppp_read(struct tty_struct *tty, struct file *file, unsigned char *buf, unsigned
}
else
goto
wait
;
}
i
=
verify_area
(
VERIFY_WRITE
,
buf
,
nr
);
if
(
i
!=
0
)
{
ppp
->
us_rbuff_lock
=
0
;
return
i
;
}
/* reset the time of the last read operation */
ppp
->
ddinfo
.
nip_rjiffies
=
jiffies
;
...
...
@@ -1309,6 +1315,12 @@ ppp_read(struct tty_struct *tty, struct file *file, unsigned char *buf, unsigned
current
->
timeout
=
0
;
PRINTKN
(
3
,(
KERN_DEBUG
"ppp_read: sleeping
\n
"
));
interruptible_sleep_on
(
&
ppp
->
read_wait
);
/* Ensure that the ppp device is still attached. */
ppp
=
ppp_find
(
tty
);
if
(
!
ppp
||
ppp
->
magic
!=
PPP_MAGIC
||
!
ppp
->
inuse
)
return
0
;
if
(
current
->
signal
&
~
current
->
blocked
)
return
-
EINTR
;
}
while
(
1
);
...
...
@@ -1360,6 +1372,10 @@ ppp_write(struct tty_struct *tty, struct file *file, unsigned char *buf, unsigne
nr
=
ppp
->
mtu
;
}
i
=
verify_area
(
VERIFY_READ
,
buf
,
nr
);
if
(
i
!=
0
)
return
i
;
if
(
ppp_debug
>=
3
)
ppp_print_buffer
(
"write frame"
,
buf
,
nr
,
USER_DS
);
...
...
@@ -1369,6 +1385,12 @@ ppp_write(struct tty_struct *tty, struct file *file, unsigned char *buf, unsigne
current
->
timeout
=
0
;
PRINTKN
(
3
,(
KERN_DEBUG
"ppp_write: sleeping
\n
"
));
interruptible_sleep_on
(
&
ppp
->
write_wait
);
/* Ensure that the ppp device is still attached. */
ppp
=
ppp_find
(
tty
);
if
(
!
ppp
||
ppp
->
magic
!=
PPP_MAGIC
||
!
ppp
->
inuse
)
return
0
;
if
(
current
->
signal
&
~
current
->
blocked
)
return
-
EINTR
;
}
...
...
drivers/scsi/ChangeLog
View file @
1ae1c847
Wed Jul 19 10:43:15 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de>
* scsi.c (scsi_proc_info): /proc/scsi/scsi now also lists all
attached devices.
* scsi_proc.c (proc_print_scsidevice): Added. Used by scsi.c and
eata_dma_proc.c to produce some device info for /proc/scsi.
* eata_dma.c (eata_queue)(eata_int_handler)(eata_scsi_done):
Changed handling of internal SCSI commands send to the HBA.
Wed Jul 19 10:09:17 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de>
* Linux 1.3.11 released.
* eata_dma.c (eata_queue)(eata_int_handler): Added code to do
command latency measurements if requested by root through
/proc/scsi interface.
Throughout Use HZ constant for time references.
* eata_pio.c: Use HZ constant for time references.
* aic7xxx.c, aic7xxx.h, aic7xxx_asm.c: Changed copyright from BSD
to GNU style.
* scsi.h: Added READ_12 command opcode constant
Wed Jul 19 09:25:30 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de>
* Linux 1.3.10 released.
* scsi_proc.c (dispatch_scsi_info): Removed unused variable.
Wed Jul 19 09:25:30 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de>
* Linux 1.3.9 released.
* scsi.c Blacklist concept expanded to 'support' more device
deficiencies. blacklist[] renamed to device_list[]
(scan_scsis): Code cleanup.
* scsi_debug.c (scsi_debug_proc_info): Added support to control
device lockup simulation via /proc/scsi interface.
Wed Jul 19 09:22:34 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de>
* Linux 1.3.7 released.
* scsi_proc.c: Fixed a number of bugs in directory handling
Wed Jul 19 09:18:28 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de>
* Linux 1.3.5 released.
* Native wide, multichannel and /proc/scsi support now in official
kernel distibution.
* scsi.c/h, hosts.c/h et al reindended to increase readability
(especially on 80 column wide terminals).
* scsi.c, scsi_proc.c, ../../fs/proc/inode.c: Added
/proc/scsi/scsi which allows root to scan for hotplugged devices.
* scsi.c (scsi_proc_info): Added, to support /proc/scsi/scsi.
(scan_scsis): Added some 'spagetti' code to allow scanning for
single devices.
Thu Jun 20 15:20:27 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de>
* proc.c: Renamed to scsi_proc.c
Mon Jun 12 20:32:45 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de>
* Linux 1.3.0 released.
Mon May 15 19:33:14 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de>
* scsi.c: Added native multichannel and wide scsi support.
* proc.c (dispatch_scsi_info) (build_proc_dir_hba_entries):
...
...
@@ -6,13 +85,13 @@ Mon May 15 19:33:14 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de>
Thu May 4 17:58:48 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de>
* sd.c (requeue_sd_request):
z
ero out the scatterlist only if
* sd.c (requeue_sd_request):
Z
ero out the scatterlist only if
scsi_malloc returned memory for it.
* eata_dma.c (register_HBA) (eata_queue):
a
dd support for
* eata_dma.c (register_HBA) (eata_queue):
A
dd support for
large scatter/gatter tables and set use_clustering accordingly
* hosts.c:
m
ake use_clustering changable in the Scsi_Host structure.
* hosts.c:
M
ake use_clustering changable in the Scsi_Host structure.
Wed Apr 12 15:25:52 1995 Eric Youngdale (eric@andante)
...
...
drivers/scsi/eata_dma.c
View file @
1ae1c847
This diff is collapsed.
Click to expand it.
drivers/scsi/eata_dma.h
View file @
1ae1c847
...
...
@@ -2,7 +2,7 @@
* Header file for eata_dma.c Linux EATA-DMA SCSI driver *
* (c) 1993,94,95 Michael Neuffer *
*********************************************************
* last change: 95/0
6/20
*
* last change: 95/0
7/18
*
********************************************************/
...
...
@@ -16,7 +16,7 @@
#define VER_MAJOR 2
#define VER_MINOR 5
#define VER_SUB "7
a
"
#define VER_SUB "7
b
"
/************************************************************************
...
...
@@ -24,6 +24,7 @@
************************************************************************/
#define CHECKPAL 0
/* EISA pal checking on/off */
#define NEWSTUFF 1
/* Some changes for ISA/EISA boards */
/************************************************************************
* Debug options. *
...
...
@@ -74,10 +75,10 @@ int eata_release(struct Scsi_Host *);
#define EATA_DMA { \
NULL, NULL, \
eata_proc_info,
/* procinfo
*/
\
"eata_dma",
/* proc dir entry */
\
PROC_SCSI_EATA,
/* proc dir inode */
\
"EATA (Extended Attachment) driver", \
eata_proc_info,
/* procinfo
*/
\
"eata_dma",
/* proc dir entry */
\
PROC_SCSI_EATA,
/* proc dir inode */
\
"EATA (Extended Attachment)
HBA
driver", \
eata_detect, \
eata_release, \
NULL, NULL, \
...
...
drivers/scsi/eata_dma_proc.c
View file @
1ae1c847
This diff is collapsed.
Click to expand it.
drivers/scsi/scsi.c
View file @
1ae1c847
...
...
@@ -106,8 +106,13 @@ Scsi_Cmnd * last_cmnd = NULL;
/* This is the pointer to the /proc/scsi code.
* It is only initialized to !=0 if the scsi code is present
*/
extern
int
(
*
dispatch_scsi_info_ptr
)(
int
ino
,
char
*
buffer
,
char
**
start
,
off_t
offset
,
int
length
,
int
inout
);
extern
int
dispatch_scsi_info
(
int
ino
,
char
*
buffer
,
char
**
start
,
off_t
offset
,
int
length
,
int
inout
);
extern
int
(
*
dispatch_scsi_info_ptr
)(
int
ino
,
char
*
buffer
,
char
**
start
,
off_t
offset
,
int
length
,
int
inout
);
extern
int
dispatch_scsi_info
(
int
ino
,
char
*
buffer
,
char
**
start
,
off_t
offset
,
int
length
,
int
inout
);
extern
void
proc_print_scsidevice
(
Scsi_Device
*
scd
,
char
*
buffer
,
int
*
size
,
int
len
);
/*
* As the scsi do command functions are intelligent, and may need to
...
...
@@ -977,6 +982,7 @@ Scsi_Cmnd * allocate_device (struct request ** reqp, Scsi_Device * device,
while
(
SCpnt
){
if
(
SCpnt
->
target
==
device
->
id
&&
SCpnt
->
lun
==
device
->
lun
)
{
SCwait
=
SCpnt
;
if
(
SCpnt
->
request
.
dev
<
0
)
break
;
}
SCpnt
=
SCpnt
->
next
;
...
...
@@ -985,6 +991,7 @@ Scsi_Cmnd * allocate_device (struct request ** reqp, Scsi_Device * device,
while
(
SCpnt
){
if
(
SCpnt
->
target
==
device
->
id
)
{
if
(
SCpnt
->
lun
==
device
->
lun
)
{
SCwait
=
SCpnt
;
if
(
found
==
NULL
&&
SCpnt
->
request
.
dev
<
0
)
{
...
...
@@ -2427,12 +2434,49 @@ int scsi_proc_info(char *buffer, char **start, off_t offset, int length,
struct
Scsi_Host
*
HBA_ptr
;
int
parameter
[
4
];
char
*
p
;
int
size
,
len
=
0
;
off_t
begin
=
0
;
off_t
pos
=
0
;
scd
=
scsi_devices
;
HBA_ptr
=
scsi_hostlist
;
if
(
inout
==
0
)
/* We can only write to this file right now */
return
(
-
ENOSYS
);
/* This is still a no-op */
if
(
inout
==
0
)
{
size
=
sprintf
(
buffer
+
len
,
"Attached devices: %s
\n
"
,
(
scd
)
?
""
:
"none"
);
len
+=
size
;
pos
=
begin
+
len
;
while
(
HBA_ptr
)
{
#if 0
size += sprintf(buffer+len,"scsi%2d: %s\n", (int) HBA_ptr->host_no, HBA_ptr->hostt->procname);
len += size;
pos = begin + len;
#endif
scd
=
scsi_devices
;
while
(
scd
)
{
if
(
scd
->
host
==
HBA_ptr
)
{
proc_print_scsidevice
(
scd
,
buffer
,
&
size
,
len
);
len
+=
size
;
pos
=
begin
+
len
;
if
(
pos
<
offset
)
{
len
=
0
;
begin
=
pos
;
}
if
(
pos
>
offset
+
length
)
goto
stop_output
;
}
scd
=
scd
->
next
;
}
HBA_ptr
=
HBA_ptr
->
next
;
}
stop_output:
*
start
=
buffer
+
(
offset
-
begin
);
/* Start of wanted data */
len
-=
(
offset
-
begin
);
/* Start slop */
if
(
len
>
length
)
len
=
length
;
/* Ending slop */
return
(
len
);
}
if
(
!
buffer
||
length
<
25
||
strncmp
(
"scsi"
,
buffer
,
4
))
return
(
-
EINVAL
);
...
...
drivers/scsi/scsi.h
View file @
1ae1c847
...
...
@@ -552,6 +552,8 @@ extern int scsi_reset (Scsi_Cmnd *);
extern
int
max_scsi_hosts
;
extern
void
build_proc_dir_entries
(
void
);
extern
void
proc_print_scsidevice
(
Scsi_Device
*
,
char
*
,
int
*
,
int
);
extern
int
kernel_scsi_ioctl
(
Scsi_Device
*
dev
,
int
cmd
,
void
*
arg
);
extern
int
scsi_ioctl
(
Scsi_Device
*
dev
,
int
cmd
,
void
*
arg
);
...
...
drivers/scsi/scsi_proc.c
View file @
1ae1c847
...
...
@@ -7,7 +7,7 @@
* information directly to the lowlevel driver.
*
* (c) 1995 Michael Neuffer neuffer@goofy.zdv.uni-mainz.de
* Version: 0.99.
6 last change: 95/07/04
* Version: 0.99.
7 last change: 95/07/18
*
* generic command parser provided by:
* Andreas Heilwagen <crashcar@informatik.uni-koblenz.de>
...
...
@@ -330,6 +330,63 @@ int parseOpt(parseHandle *handle, char **param)
return
(
cmdIndex
);
}
#define MAX_SCSI_DEVICE_CODE 10
const
char
*
const
scsi_dev_types
[
MAX_SCSI_DEVICE_CODE
]
=
{
"Direct-Access "
,
"Sequential-Access"
,
"Printer "
,
"Processor "
,
"WORM "
,
"CD-ROM "
,
"Scanner "
,
"Optical Device "
,
"Medium Changer "
,
"Communications "
};
void
proc_print_scsidevice
(
Scsi_Device
*
scd
,
char
*
buffer
,
int
*
size
,
int
len
)
{
int
x
,
y
=
*
size
;
y
=
sprintf
(
buffer
+
len
,
"Channel: %02d Id: %02d Lun: %02d
\n
Vendor: "
,
scd
->
channel
,
scd
->
id
,
scd
->
lun
);
for
(
x
=
0
;
x
<
8
;
x
++
)
{
if
(
scd
->
vendor
[
x
]
>=
0x20
)
y
+=
sprintf
(
buffer
+
len
+
y
,
"%c"
,
scd
->
vendor
[
x
]);
else
y
+=
sprintf
(
buffer
+
len
+
y
,
" "
);
}
y
+=
sprintf
(
buffer
+
len
+
y
,
" Model: "
);
for
(
x
=
0
;
x
<
16
;
x
++
)
{
if
(
scd
->
model
[
x
]
>=
0x20
)
y
+=
sprintf
(
buffer
+
len
+
y
,
"%c"
,
scd
->
model
[
x
]);
else
y
+=
sprintf
(
buffer
+
len
+
y
,
" "
);
}
y
+=
sprintf
(
buffer
+
len
+
y
,
" Rev: "
);
for
(
x
=
0
;
x
<
4
;
x
++
)
{
if
(
scd
->
rev
[
x
]
>=
0x20
)
y
+=
sprintf
(
buffer
+
len
+
y
,
"%c"
,
scd
->
rev
[
x
]);
else
y
+=
sprintf
(
buffer
+
len
+
y
,
" "
);
}
y
+=
sprintf
(
buffer
+
len
+
y
,
"
\n
"
);
y
+=
sprintf
(
buffer
+
len
+
y
,
" Type: %s "
,
scd
->
type
<
MAX_SCSI_DEVICE_CODE
?
scsi_dev_types
[(
int
)
scd
->
type
]
:
"Unknown "
);
y
+=
sprintf
(
buffer
+
len
+
y
,
" ANSI"
" SCSI revision: %02x"
,
(
scd
->
scsi_level
<
3
)
?
1
:
2
);
if
(
scd
->
scsi_level
==
2
)
y
+=
sprintf
(
buffer
+
len
+
y
,
" CCS
\n
"
);
else
y
+=
sprintf
(
buffer
+
len
+
y
,
"
\n
"
);
*
size
=
y
;
return
;
}
/*
* Overrides for Emacs so that we get a uniform tabbing style.
...
...
drivers/scsi/scsi_syms.c
View file @
1ae1c847
...
...
@@ -68,6 +68,9 @@ struct symbol_table scsi_symbol_table = {
X
(
kernel_scsi_ioctl
),
X
(
need_isa_buffer
),
X
(
request_queueable
),
#if defined(CONFIG_PROC_FS)
X
(
proc_print_scsidevice
),
#endif
/*
* These are here only while I debug the rest of the scsi stuff.
*/
...
...
fs/hpfs/hpfs_fs.c
View file @
1ae1c847
...
...
@@ -1293,7 +1293,7 @@ static struct hpfs_dirent *map_dirent(struct inode *inode, dnode_secno dno,
/*
* name not found.
*/
brelse4
(
qbh
);
return
0
;
}
...
...
fs/proc/inode.c
View file @
1ae1c847
...
...
@@ -166,7 +166,7 @@ void proc_read_inode(struct inode * inode)
}
if
(
ino
==
PROC_SCSI_SCSI
)
{
inode
->
i_mode
=
S_IFREG
|
S_IWUSR
;
inode
->
i_mode
=
S_IFREG
|
S_I
RUGO
|
S_I
WUSR
;
inode
->
i_op
=
&
proc_scsi_inode_operations
;
return
;
}
...
...
kernel/itimer.c
View file @
1ae1c847
...
...
@@ -29,14 +29,20 @@ static void jiffiestotv(unsigned long jiffies, struct timeval *value)
return
;
}
int
_getitimer
(
int
which
,
struct
itimerval
*
value
)
static
int
_getitimer
(
int
which
,
struct
itimerval
*
value
)
{
register
unsigned
long
val
,
interval
;
register
long
val
,
interval
;
switch
(
which
)
{
case
ITIMER_REAL
:
val
=
current
->
it_real_value
;
interval
=
current
->
it_real_incr
;
val
=
0
;
if
(
del_timer
(
&
current
->
real_timer
))
{
val
=
current
->
real_timer
.
expires
;
add_timer
(
&
current
->
real_timer
);
if
(
val
<=
0
)
val
=
interval
;
}
break
;
case
ITIMER_VIRTUAL
:
val
=
current
->
it_virt_value
;
...
...
@@ -51,7 +57,7 @@ int _getitimer(int which, struct itimerval *value)
}
jiffiestotv
(
val
,
&
value
->
it_value
);
jiffiestotv
(
interval
,
&
value
->
it_interval
);
return
(
0
)
;
return
0
;
}
asmlinkage
int
sys_getitimer
(
int
which
,
struct
itimerval
*
value
)
...
...
kernel/ksyms.c
View file @
1ae1c847
...
...
@@ -388,6 +388,9 @@ struct symbol_table symbol_table = {
X
(
scsi_devices
),
X
(
gendisk_head
),
/* Needed for sd.c */
X
(
resetup_one_dev
),
/* Needed for sd.c */
#if defined(CONFIG_PROC_FS)
X
(
proc_print_scsidevice
),
#endif
#else
/*
* With no scsi configured, we still need to export a few
...
...
kernel/sched.c
View file @
1ae1c847
...
...
@@ -120,7 +120,11 @@ static inline void del_from_runqueue(struct task_struct * p)
}
#endif
if
(
p
==
&
init_task
)
{
printk
(
"idle task may not sleep
\n
"
);
static
int
nr
=
0
;
if
(
nr
<
5
)
{
nr
++
;
printk
(
"idle task may not sleep
\n
"
);
}
return
;
}
nr_running
--
;
...
...
lib/string.c
View file @
1ae1c847
...
...
@@ -101,9 +101,9 @@ int strncmp(const char * cs,const char * ct,size_t count)
#endif
#ifndef __HAVE_ARCH_STRCHR
char
*
strchr
(
const
char
*
s
,
char
c
)
char
*
strchr
(
const
char
*
s
,
int
c
)
{
for
(;
*
s
!=
c
;
++
s
)
for
(;
*
s
!=
(
char
)
c
;
++
s
)
if
(
*
s
==
'\0'
)
return
NULL
;
return
(
char
*
)
s
;
...
...
@@ -265,7 +265,7 @@ int memcmp(const void * cs,const void * ct,size_t count)
* find the first occurrence of byte 'c', or 1 past the area if none
*/
#ifndef __HAVE_ARCH_MEMSCAN
void
*
memscan
(
void
*
addr
,
unsigned
char
c
,
size_t
size
)
void
*
memscan
(
void
*
addr
,
int
c
,
size_t
size
)
{
unsigned
char
*
p
=
(
unsigned
char
*
)
addr
;
...
...
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