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
9d75228b
Commit
9d75228b
authored
Nov 23, 2007
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Import 1.1.27
parent
9f3c745e
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
46 additions
and
26 deletions
+46
-26
Makefile
Makefile
+1
-1
drivers/net/3c509.c
drivers/net/3c509.c
+26
-12
fs/devices.c
fs/devices.c
+4
-4
include/linux/nfs_fs.h
include/linux/nfs_fs.h
+1
-1
net/inet/icmp.c
net/inet/icmp.c
+14
-8
No files found.
Makefile
View file @
9d75228b
VERSION
=
1
VERSION
=
1
PATCHLEVEL
=
1
PATCHLEVEL
=
1
SUBLEVEL
=
2
6
SUBLEVEL
=
2
7
all
:
Version zImage
all
:
Version zImage
...
...
drivers/net/3c509.c
View file @
9d75228b
/* 3c509.c: A 3c509 EtherLink3 ethernet driver for linux. */
/* 3c509.c: A 3c509 EtherLink3 ethernet driver for linux. */
/*
/*
Written 1993 by Donald Becker.
Written 1993
,1994
by Donald Becker.
Copyright 1994 by Donald Becker.
Copyright 1993 United States Government as represented by the
Copyright 1993 United States Government as represented by the
Director, National Security Agency. This software may be used and
Director, National Security Agency. This software may be used and
distributed according to the terms of the GNU Public License,
distributed according to the terms of the GNU Public License,
...
@@ -9,11 +10,21 @@
...
@@ -9,11 +10,21 @@
This driver is for the 3Com EtherLinkIII series.
This driver is for the 3Com EtherLinkIII series.
The author may be reached as becker@super.org or
The author may be reached as becker@cesdis.gsfc.nasa.gov or
C/O Supercomputing Research Ctr., 17100 Science Dr., Bowie MD 20715
C/O Center of Excellence in Space Data and Information Sciences
Code 930.5, Goddard Space Flight Center, Greenbelt MD 20771
Known limitations:
Because of the way 3c509 ISA detection works it's difficult to predict
a priori which of several ISA-mode cards will be detected first.
This driver does not use predictive interrupt mode, resulting in higher
packet latency but lower overhead. If interrupts are disabled for an
unusually long time it could also result in missed packets, but in
practice this rarely happens.
*/
*/
static
char
*
version
=
"3c509.c:
pl15k 3/5/94 becker@super.org
\n
"
;
static
char
*
version
=
"3c509.c:
1.01 7/5/94 becker@cesdis.gsfc.nasa.gov
\n
"
;
#include <linux/config.h>
#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/kernel.h>
...
@@ -92,11 +103,14 @@ int el3_probe(struct device *dev)
...
@@ -92,11 +103,14 @@ int el3_probe(struct device *dev)
short
*
phys_addr
=
(
short
*
)
dev
->
dev_addr
;
short
*
phys_addr
=
(
short
*
)
dev
->
dev_addr
;
static
int
current_tag
=
0
;
static
int
current_tag
=
0
;
/* First check for a board on the EISA bus. */
/* First check all slots of the EISA bus. The next slot address to
probe is kept in 'eisa_addr' to support multiple probe() calls. */
if
(
EISA_bus
)
{
if
(
EISA_bus
)
{
static
int
eisa_addr
;
static
int
eisa_addr
=
0x1000
;
for
(
ioaddr
=
0x1000
;
ioaddr
<
0x9000
;
ioaddr
+=
0x1000
)
{
while
(
eisa_addr
<
0x9000
)
{
eisa_addr
=
ioaddr
;
ioaddr
=
eisa_addr
;
eisa_addr
+=
0x1000
;
/* Check the standard EISA ID register for an encoded '3Com'. */
/* Check the standard EISA ID register for an encoded '3Com'. */
if
(
inw
(
ioaddr
+
0xC80
)
!=
0x6d50
)
if
(
inw
(
ioaddr
+
0xC80
)
!=
0x6d50
)
continue
;
continue
;
...
@@ -136,7 +150,10 @@ int el3_probe(struct device *dev)
...
@@ -136,7 +150,10 @@ int el3_probe(struct device *dev)
}
}
#endif
#endif
/* Send the ID sequence to the ID_PORT. */
/* Next check for all ISA bus boards by sending the ID sequence to the
ID_PORT. We find cards past the first by setting the 'current_tag'
on cards as they are found. Cards with their tag set will not
respond to subseqent ID seqences. */
outb
(
0x00
,
ID_PORT
);
outb
(
0x00
,
ID_PORT
);
outb
(
0x00
,
ID_PORT
);
outb
(
0x00
,
ID_PORT
);
for
(
i
=
0
;
i
<
255
;
i
++
)
{
for
(
i
=
0
;
i
<
255
;
i
++
)
{
...
@@ -169,9 +186,6 @@ int el3_probe(struct device *dev)
...
@@ -169,9 +186,6 @@ int el3_probe(struct device *dev)
}
}
irq
=
id_read_eeprom
(
9
)
>>
12
;
irq
=
id_read_eeprom
(
9
)
>>
12
;
/* The current Space.c structure makes it difficult to have more
than one adaptor initialized. Send me email if you have a need for
multiple adaptors, and we'll work out something. -becker@super.org */
if
(
dev
->
base_addr
!=
0
if
(
dev
->
base_addr
!=
0
&&
dev
->
base_addr
!=
(
unsigned
short
)
ioaddr
)
{
&&
dev
->
base_addr
!=
(
unsigned
short
)
ioaddr
)
{
return
-
ENODEV
;
return
-
ENODEV
;
...
...
fs/devices.c
View file @
9d75228b
...
@@ -127,10 +127,10 @@ int check_disk_change(dev_t dev)
...
@@ -127,10 +127,10 @@ int check_disk_change(dev_t dev)
i
=
MAJOR
(
dev
);
i
=
MAJOR
(
dev
);
if
(
i
>=
MAX_BLKDEV
||
(
fops
=
blkdevs
[
i
].
fops
)
==
NULL
)
if
(
i
>=
MAX_BLKDEV
||
(
fops
=
blkdevs
[
i
].
fops
)
==
NULL
)
return
0
;
return
0
;
if
(
fops
->
check_media_change
!=
NULL
)
{
if
(
fops
->
check_media_change
==
NULL
)
if
(
!
fops
->
check_media_change
(
dev
))
return
0
;
return
0
;
if
(
!
fops
->
check_media_change
(
dev
))
}
return
0
;
printk
(
"VFS: Disk change detected on device %d/%d
\n
"
,
printk
(
"VFS: Disk change detected on device %d/%d
\n
"
,
MAJOR
(
dev
),
MINOR
(
dev
));
MAJOR
(
dev
),
MINOR
(
dev
));
...
...
include/linux/nfs_fs.h
View file @
9d75228b
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
#define NFS_READDIR_CACHE_SIZE 64
#define NFS_READDIR_CACHE_SIZE 64
#define NFS_MAX_FILE_IO_BUFFER_SIZE
(7*512)
#define NFS_MAX_FILE_IO_BUFFER_SIZE
16834
#define NFS_DEF_FILE_IO_BUFFER_SIZE 1024
#define NFS_DEF_FILE_IO_BUFFER_SIZE 1024
/*
/*
...
...
net/inet/icmp.c
View file @
9d75228b
...
@@ -21,6 +21,8 @@
...
@@ -21,6 +21,8 @@
* Alan Cox : Routing errors
* Alan Cox : Routing errors
* Alan Cox : Changes for newer routing code
* Alan Cox : Changes for newer routing code
* Alan Cox : Removed old debugging junk
* Alan Cox : Removed old debugging junk
* Alan Cox : Fixed the ICMP error status of net/host unreachable
* Gerhard Koerting : Fixed broadcast ping properly
*
*
*
*
*
*
...
@@ -65,8 +67,8 @@ struct icmp_mib icmp_statistics={0,};
...
@@ -65,8 +67,8 @@ struct icmp_mib icmp_statistics={0,};
/* An array of errno for error messages from dest unreach. */
/* An array of errno for error messages from dest unreach. */
struct
icmp_err
icmp_err_convert
[]
=
{
struct
icmp_err
icmp_err_convert
[]
=
{
{
ENETUNREACH
,
1
},
/* ICMP_NET_UNREACH */
{
ENETUNREACH
,
0
},
/* ICMP_NET_UNREACH */
{
EHOSTUNREACH
,
1
},
/* ICMP_HOST_UNREACH */
{
EHOSTUNREACH
,
0
},
/* ICMP_HOST_UNREACH */
{
ENOPROTOOPT
,
1
},
/* ICMP_PROT_UNREACH */
{
ENOPROTOOPT
,
1
},
/* ICMP_PROT_UNREACH */
{
ECONNREFUSED
,
1
},
/* ICMP_PORT_UNREACH */
{
ECONNREFUSED
,
1
},
/* ICMP_PORT_UNREACH */
{
EOPNOTSUPP
,
0
},
/* ICMP_FRAG_NEEDED */
{
EOPNOTSUPP
,
0
},
/* ICMP_FRAG_NEEDED */
...
@@ -370,7 +372,7 @@ static void icmp_echo(struct icmphdr *icmph, struct sk_buff *skb, struct device
...
@@ -370,7 +372,7 @@ static void icmp_echo(struct icmphdr *icmph, struct sk_buff *skb, struct device
skb2
->
free
=
1
;
skb2
->
free
=
1
;
/* Build Layer 2-3 headers for message back to source */
/* Build Layer 2-3 headers for message back to source */
offset
=
ip_build_header
(
skb2
,
daddr
,
dev
->
pa_
addr
,
&
ndev
,
offset
=
ip_build_header
(
skb2
,
daddr
,
s
addr
,
&
ndev
,
IPPROTO_ICMP
,
opt
,
len
,
skb
->
ip_hdr
->
tos
,
255
);
IPPROTO_ICMP
,
opt
,
len
,
skb
->
ip_hdr
->
tos
,
255
);
if
(
offset
<
0
)
if
(
offset
<
0
)
{
{
...
@@ -611,12 +613,16 @@ int icmp_rcv(struct sk_buff *skb1, struct device *dev, struct options *opt,
...
@@ -611,12 +613,16 @@ int icmp_rcv(struct sk_buff *skb1, struct device *dev, struct options *opt,
* Parse the ICMP message
* Parse the ICMP message
*/
*/
if
(
ip_chk_addr
(
daddr
)
==
IS_BROADCAST
&&
icmph
->
type
!=
ICMP_ECHO
)
if
(
ip_chk_addr
(
daddr
)
==
IS_BROADCAST
)
{
{
icmp_statistics
.
IcmpInErrors
++
;
if
(
icmph
->
type
!=
ICMP_ECHO
)
kfree_skb
(
skb1
,
FREE_READ
);
{
return
(
0
);
icmp_statistics
.
IcmpInErrors
++
;
}
kfree_skb
(
skb1
,
FREE_READ
);
return
(
0
);
}
daddr
=
dev
->
pa_addr
;
}
switch
(
icmph
->
type
)
switch
(
icmph
->
type
)
{
{
...
...
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