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
bf1f706a
Commit
bf1f706a
authored
Nov 23, 2007
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Import 2.0.10
parent
3495b6a6
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
37 additions
and
57 deletions
+37
-57
Makefile
Makefile
+1
-1
arch/alpha/mm/fault.c
arch/alpha/mm/fault.c
+0
-1
drivers/block/cmd640.c
drivers/block/cmd640.c
+6
-2
drivers/block/genhd.c
drivers/block/genhd.c
+3
-1
drivers/block/ide.c
drivers/block/ide.c
+12
-23
drivers/block/ide.h
drivers/block/ide.h
+0
-14
drivers/block/triton.c
drivers/block/triton.c
+5
-5
fs/isofs/inode.c
fs/isofs/inode.c
+1
-1
net/ipv4/igmp.c
net/ipv4/igmp.c
+8
-3
net/ipv4/tcp.c
net/ipv4/tcp.c
+1
-6
No files found.
Makefile
View file @
bf1f706a
VERSION
=
2
PATCHLEVEL
=
0
SUBLEVEL
=
9
SUBLEVEL
=
10
ARCH
=
i386
...
...
arch/alpha/mm/fault.c
View file @
bf1f706a
...
...
@@ -84,7 +84,6 @@ asmlinkage void do_page_fault(unsigned long address, unsigned long mmcsr, long c
if
(
!
(
vma
->
vm_flags
&
VM_WRITE
))
goto
bad_area
;
}
tbis
(
address
);
handle_mm_fault
(
vma
,
address
,
cause
>
0
);
return
;
...
...
drivers/block/cmd640.c
View file @
bf1f706a
/*
* linux/drivers/block/cmd640.c Version 0.1
2 Jul 22
, 1996
* linux/drivers/block/cmd640.c Version 0.1
3 Jul 23
, 1996
*
* Copyright (C) 1995-1996 Linus Torvalds & authors (see below)
*/
...
...
@@ -61,6 +61,7 @@
* irq unmasking disabled for reliability. -lp
* try to be even smarter about the second port. -lp
* tidy up source code formatting. -ml
* Version 0.13 permit irq unmasking again. -ml
*/
#undef REALLY_SLOW_IO
/* most systems can safely undef this */
...
...
@@ -451,7 +452,9 @@ int ide_probe_for_cmd640x(void)
*/
ide_hwifs
[
0
].
chipset
=
ide_cmd640
;
ide_hwifs
[
0
].
tuneproc
=
&
cmd640_tune_drive
;
#if 0
ide_hwifs[0].no_unmask = 1;
#endif
if
(
ide_hwifs
[
0
].
drives
[
0
].
autotune
==
0
)
ide_hwifs
[
0
].
drives
[
0
].
autotune
=
1
;
...
...
@@ -470,8 +473,9 @@ int ide_probe_for_cmd640x(void)
ide_hwifs
[
1
].
chipset
=
ide_cmd640
;
ide_hwifs
[
1
].
tuneproc
=
&
cmd640_tune_drive
;
#if 0
ide_hwifs[1].no_unmask = 1;
#endif
if
(
ide_hwifs
[
1
].
drives
[
0
].
autotune
==
0
)
ide_hwifs
[
1
].
drives
[
0
].
autotune
=
1
;
if
(
ide_hwifs
[
1
].
drives
[
1
].
autotune
==
0
)
...
...
drivers/block/genhd.c
View file @
bf1f706a
...
...
@@ -326,7 +326,9 @@ static int msdos_partition(struct gendisk *hd, kdev_t dev, unsigned long first_s
*/
for
(
i
=
0
;
i
<
4
;
i
++
)
{
struct
partition
*
q
=
&
p
[
i
];
if
(
NR_SECTS
(
q
)
&&
q
->
sector
==
1
&&
q
->
end_sector
==
63
)
{
if
(
NR_SECTS
(
q
)
&&
(
q
->
sector
&
63
)
==
1
&&
(
q
->
end_sector
&
63
)
==
63
)
{
unsigned
int
heads
=
q
->
end_head
+
1
;
if
(
heads
==
32
||
heads
==
64
||
heads
==
128
)
{
...
...
drivers/block/ide.c
View file @
bf1f706a
/*
* linux/drivers/block/ide.c Version 5.4
5 Jul 22
, 1996
* linux/drivers/block/ide.c Version 5.4
6 Jul 23
, 1996
*
* Copyright (C) 1994-1996 Linus Torvalds & authors (see below)
*/
...
...
@@ -243,6 +243,9 @@
* add a throttle to the unexpected_intr() messages
* Version 5.45 fix ugly parameter parsing bugs (thanks Derek)
* include Gadi's magic fix for cmd640 unexpected_intr
* include mc68000 patches from Geert Uytterhoeven
* add Gadi's fix for PCMCIA cdroms
* Version 5.46 remove the mc68000 #ifdefs for 2.0.x
*
* Some additional driver compile-time options are in ide.h
*
...
...
@@ -1625,7 +1628,6 @@ static void unexpected_intr (int irq, ide_hwgroup_t *hwgroup)
byte
stat
;
unsigned
int
unit
;
ide_hwif_t
*
hwif
=
hwgroup
->
hwif
;
static
unsigned
long
last_time
=
0
;
/*
* handle the unexpected interrupt
...
...
@@ -1638,8 +1640,10 @@ static void unexpected_intr (int irq, ide_hwgroup_t *hwgroup)
continue
;
SELECT_DRIVE
(
hwif
,
drive
);
if
(
!
OK_STAT
(
stat
=
GET_STAT
(),
drive
->
ready_stat
,
BAD_STAT
))
{
if
((
last_time
+
(
HZ
/
2
))
<
jiffies
&&
!
drive
->
ignore_unexp
)
{
last_time
=
jiffies
;
/* Try to not flood the console with msgs */
static
unsigned
long
last_msgtime
=
0
;
if
((
last_msgtime
+
(
HZ
/
2
))
<
jiffies
)
{
last_msgtime
=
jiffies
;
(
void
)
ide_dump_status
(
drive
,
"unexpected_intr"
,
stat
);
}
}
...
...
@@ -2210,7 +2214,7 @@ static inline void do_identify (ide_drive_t *drive, byte cmd)
if
((
id
->
model
[
0
]
==
'N'
&&
id
->
model
[
1
]
==
'E'
)
/* NEC */
||
(
id
->
model
[
0
]
==
'F'
&&
id
->
model
[
1
]
==
'X'
)
/* Mitsumi */
||
(
id
->
model
[
0
]
==
'P'
&&
id
->
model
[
1
]
==
'i'
))
/* Pioneer */
bswap
^=
1
;
/* Vertos drives may still be weird */
bswap
=
0
;
/* Vertos drives may still be weird */
}
ide_fixstring
(
id
->
model
,
sizeof
(
id
->
model
),
bswap
);
ide_fixstring
(
id
->
fw_rev
,
sizeof
(
id
->
fw_rev
),
bswap
);
...
...
@@ -2383,15 +2387,10 @@ static void delay_10ms (void)
*/
static
int
try_to_identify
(
ide_drive_t
*
drive
,
byte
cmd
)
{
int
irq
s
,
rc
;
int
hd_statu
s
,
rc
;
unsigned
long
timeout
;
#ifdef CONFIG_BLK_DEV_CMD640
int
retry
=
0
;
int
hd_status
;
int
irqs
=
0
;
try_again:
#endif
/* CONFIG_BLK_DEV_CMD640 */
irqs
=
0
;
if
(
!
HWIF
(
drive
)
->
irq
)
{
/* already got an IRQ? */
probe_irq_off
(
probe_irq_on
());
/* clear dangling irqs */
irqs
=
probe_irq_on
();
/* start monitoring irqs */
...
...
@@ -2458,19 +2457,9 @@ static int try_to_identify (ide_drive_t *drive, byte cmd)
#ifdef CONFIG_BLK_DEV_CMD640
if
(
HWIF
(
drive
)
->
chipset
==
ide_cmd640
)
{
extern
byte
(
*
get_cmd640_reg
)(
int
);
byte
reg9
=
get_cmd640_reg
(
0x09
);
printk
(
"%s: Hmmm.. probably a driver problem.
\n
"
,
drive
->
name
);
printk
(
"%s: cmd640 reg 09h == 0x%02x
\n
"
,
drive
->
name
,
reg9
);
printk
(
"%s: cmd640 reg 09h == 0x%02x
\n
"
,
drive
->
name
,
get_cmd640_reg
(
9
)
);
printk
(
"%s: cmd640 reg 51h == 0x%02x
\n
"
,
drive
->
name
,
get_cmd640_reg
(
0x51
));
if
(
reg9
==
0x0a
)
{
printk
(
"%s: perhaps PCI INTA has not been set to IRQ15?
\n
"
,
drive
->
name
);
if
(
retry
++
==
0
)
{
extern
void
(
*
put_cmd640_reg
)(
int
,
int
);
printk
(
"%s: switching secondary interface to legacy mode
\n
"
,
drive
->
name
);
put_cmd640_reg
(
0x09
,
0x00
);
goto
try_again
;
}
}
}
#endif
/* CONFIG_BLK_DEV_CMD640 */
}
...
...
drivers/block/ide.h
View file @
bf1f706a
...
...
@@ -296,18 +296,6 @@ typedef union {
}
b
;
}
special_t
;
#ifdef __BIG_ENDIAN_BITFIELD
typedef
union
{
unsigned
all
:
8
;
/* all of the bits together */
struct
{
unsigned
bit7
:
1
;
/* always 1 */
unsigned
lba
:
1
;
/* using LBA instead of CHS */
unsigned
bit5
:
1
;
/* always 1 */
unsigned
unit
:
1
;
/* drive select number, 0 or 1 */
unsigned
head
:
4
;
/* always zeros here */
}
b
;
}
select_t
;
#else
/* __BIG_ENDIAN_BITFIELD */
typedef
union
{
unsigned
all
:
8
;
/* all of the bits together */
struct
{
...
...
@@ -318,7 +306,6 @@ typedef union {
unsigned
bit7
:
1
;
/* always 1 */
}
b
;
}
select_t
;
#endif
/* __BIG_ENDIAN_BITFIELD */
typedef
struct
ide_drive_s
{
special_t
special
;
/* special action flags */
...
...
@@ -332,7 +319,6 @@ typedef struct ide_drive_s {
unsigned
unmask
:
1
;
/* flag: okay to unmask other irqs */
unsigned
nobios
:
1
;
/* flag: do not probe bios for drive */
unsigned
autotune
:
2
;
/* 1=autotune, 2=noautotune, 0=default */
unsigned
ignore_unexp
:
1
;
/* flag: ignore unexpected_intr's */
#if FAKE_FDISK_FOR_EZDRIVE
unsigned
remap_0_to_1
:
1
;
/* flag: partitioned with ezdrive */
#endif
/* FAKE_FDISK_FOR_EZDRIVE */
...
...
drivers/block/triton.c
View file @
bf1f706a
...
...
@@ -7,7 +7,7 @@
/*
* This module provides support for the Bus Master IDE DMA function
* of the Intel PCI Triton
chipset (82371F
B).
* of the Intel PCI Triton
I/II chipsets (i82371FB or i82371S
B).
*
* DMA is currently supported only for hard disk drives (not cdroms).
*
...
...
@@ -15,11 +15,11 @@
* after broader experience has been obtained with hard disks.
*
* Up to four drives may be enabled for DMA, and the Triton chipset will
* (hopefully) arbitrate the PCI bus among them. Note that the
82371FB
chip
* (hopefully) arbitrate the PCI bus among them. Note that the
i82371
chip
* provides a single "line buffer" for the BM IDE function, so performance of
* multiple (two) drives doing DMA simultaneously will suffer somewhat,
* as they contest for that resource bottleneck. This is handled transparently
* inside the
82371FB
chip.
* inside the
i82371
chip.
*
* By default, DMA support is prepared for use, but is currently enabled only
* for drives which support multi-word DMA mode2 (mword2), or which are
...
...
@@ -322,7 +322,7 @@ static int triton_dmaproc (ide_dma_action_t func, ide_drive_t *drive)
/*
* print_triton_drive_flags() displays the currently programmed options
* in the 82371 (Triton) for a given drive.
* in the
i
82371 (Triton) for a given drive.
*
* If fastDMA is "no", then slow ISA timings are used for DMA data xfers.
* If fastPIO is "no", then slow ISA timings are used for PIO data xfers.
...
...
@@ -382,7 +382,7 @@ void ide_init_triton (byte bus, byte fn)
unsigned
short
pcicmd
;
unsigned
int
bmiba
,
timings
;
printk
(
"ide: 82371 PIIX (Triton) on PCI bus %d function %d
\n
"
,
bus
,
fn
);
printk
(
"ide:
i
82371 PIIX (Triton) on PCI bus %d function %d
\n
"
,
bus
,
fn
);
/*
* See if IDE and BM-DMA features are enabled:
*/
...
...
fs/isofs/inode.c
View file @
bf1f706a
...
...
@@ -189,7 +189,7 @@ static unsigned int isofs_get_last_session(kdev_t dev)
printk("isofs.inode: vol_desc_start = %d\n", ms_info.addr.lba);
}
#endif 0
if
(
i
==
0
)
vol_desc_start
=
ms_info
.
addr
.
lba
;
if
(
(
i
==
0
)
&&
(
ms_info
.
xa_flag
)
)
vol_desc_start
=
ms_info
.
addr
.
lba
;
}
return
vol_desc_start
;
}
...
...
net/ipv4/igmp.c
View file @
bf1f706a
...
...
@@ -56,6 +56,11 @@
* Christian Daudt : igmp_heard_report now only calls
* igmp_timer_expire if tm->running is
* true (960216).
* Malcolm Beattie : ttl comparison wrong in igmp_rcv made
* igmp_heard_query never trigger. Expiry
* miscalculation fixed in igmp_heard_query
* and random() made to return unsigned to
* prevent negative expiry times.
*/
...
...
@@ -207,7 +212,7 @@ static void igmp_stop_timer(struct ip_mc_list *im)
}
}
extern
__inline__
int
random
(
void
)
extern
__inline__
unsigned
int
random
(
void
)
{
static
unsigned
long
seed
=
152L
;
seed
=
seed
*
69069L
+
1
;
...
...
@@ -326,7 +331,7 @@ static void igmp_heard_query(struct device *dev,unsigned char max_resp_time)
{
if
(
im
->
tm_running
)
{
if
(
im
->
timer
.
expires
>
max_resp_time
*
HZ
/
IGMP_TIMER_SCALE
)
if
(
im
->
timer
.
expires
>
jiffies
+
max_resp_time
*
HZ
/
IGMP_TIMER_SCALE
)
{
igmp_stop_timer
(
im
);
igmp_start_timer
(
im
,
max_resp_time
);
...
...
@@ -447,7 +452,7 @@ int igmp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt,
}
ih
=
(
struct
igmphdr
*
)
skb
->
h
.
raw
;
if
(
skb
->
len
<
sizeof
(
struct
igmphdr
)
||
skb
->
ip_hdr
->
ttl
>
1
||
ip_compute_csum
((
void
*
)
skb
->
h
.
raw
,
sizeof
(
struct
igmphdr
)))
if
(
skb
->
len
<
sizeof
(
struct
igmphdr
)
||
skb
->
ip_hdr
->
ttl
<
1
||
ip_compute_csum
((
void
*
)
skb
->
h
.
raw
,
sizeof
(
struct
igmphdr
)))
{
kfree_skb
(
skb
,
FREE_READ
);
return
0
;
...
...
net/ipv4/tcp.c
View file @
bf1f706a
...
...
@@ -726,12 +726,7 @@ static int tcp_select(struct sock *sk, int sel_type, select_table *wait)
return
0
;
if
(
sk
->
state
==
TCP_SYN_SENT
||
sk
->
state
==
TCP_SYN_RECV
)
break
;
/*
* This is now right thanks to a small fix
* by Matt Dillon.
*/
if
(
sock_wspace
(
sk
)
<
sk
->
mtu
+
128
+
sk
->
prot
->
max_header
)
if
(
sk
->
wmem_alloc
*
2
>
sk
->
sndbuf
)
break
;
return
1
;
...
...
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