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
726bdba7
Commit
726bdba7
authored
Oct 29, 2003
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge nuts.ninka.net:/disk1/davem/BK/network-2.5
into nuts.ninka.net:/disk1/davem/BK/net-2.5
parents
1eb12c6d
a8f97595
Changes
33
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
170 additions
and
168 deletions
+170
-168
arch/x86_64/kernel/x8664_ksyms.c
arch/x86_64/kernel/x8664_ksyms.c
+2
-0
drivers/acpi/dispatcher/dsopcode.c
drivers/acpi/dispatcher/dsopcode.c
+3
-5
drivers/acpi/ec.c
drivers/acpi/ec.c
+2
-14
drivers/media/video/bt832.c
drivers/media/video/bt832.c
+0
-2
drivers/media/video/bttv-cards.c
drivers/media/video/bttv-cards.c
+2
-2
drivers/media/video/bttv-if.c
drivers/media/video/bttv-if.c
+1
-1
drivers/media/video/saa5249.c
drivers/media/video/saa5249.c
+0
-2
drivers/media/video/tuner-3036.c
drivers/media/video/tuner-3036.c
+0
-2
drivers/net/3c527.c
drivers/net/3c527.c
+2
-0
drivers/net/8139too.c
drivers/net/8139too.c
+1
-0
drivers/net/arm/ether1.c
drivers/net/arm/ether1.c
+7
-6
drivers/net/arm/ether3.c
drivers/net/arm/ether3.c
+4
-4
drivers/net/arm/etherh.c
drivers/net/arm/etherh.c
+6
-6
drivers/net/bonding/bond_main.c
drivers/net/bonding/bond_main.c
+41
-67
drivers/net/pcmcia/fmvj18x_cs.c
drivers/net/pcmcia/fmvj18x_cs.c
+2
-0
drivers/net/pcmcia/ibmtr_cs.c
drivers/net/pcmcia/ibmtr_cs.c
+11
-5
drivers/net/r8169.c
drivers/net/r8169.c
+1
-0
drivers/net/sis900.c
drivers/net/sis900.c
+1
-1
drivers/net/starfire.c
drivers/net/starfire.c
+4
-9
drivers/net/tokenring/ibmtr.c
drivers/net/tokenring/ibmtr.c
+4
-3
drivers/net/wireless/airo.c
drivers/net/wireless/airo.c
+31
-14
drivers/pci/setup-bus.c
drivers/pci/setup-bus.c
+21
-9
drivers/pcmcia/yenta_socket.c
drivers/pcmcia/yenta_socket.c
+5
-1
drivers/pnp/isapnp/core.c
drivers/pnp/isapnp/core.c
+1
-1
drivers/serial/serial_core.c
drivers/serial/serial_core.c
+3
-0
drivers/usb/serial/Kconfig
drivers/usb/serial/Kconfig
+1
-1
drivers/usb/serial/digi_acceleport.c
drivers/usb/serial/digi_acceleport.c
+3
-3
fs/direct-io.c
fs/direct-io.c
+1
-1
fs/jbd/transaction.c
fs/jbd/transaction.c
+6
-3
fs/jfs/jfs_metapage.c
fs/jfs/jfs_metapage.c
+0
-3
include/linux/serial.h
include/linux/serial.h
+0
-1
kernel/module.c
kernel/module.c
+3
-1
net/core/dev.c
net/core/dev.c
+1
-1
No files found.
arch/x86_64/kernel/x8664_ksyms.c
View file @
726bdba7
...
...
@@ -71,6 +71,7 @@ EXPORT_SYMBOL_NOVERS(__down_failed_trylock);
EXPORT_SYMBOL_NOVERS
(
__up_wakeup
);
/* Networking helper routines. */
EXPORT_SYMBOL
(
csum_partial_copy_nocheck
);
EXPORT_SYMBOL
(
ip_compute_csum
);
/* Delay loops */
EXPORT_SYMBOL
(
__udelay
);
EXPORT_SYMBOL
(
__ndelay
);
...
...
@@ -113,6 +114,7 @@ EXPORT_SYMBOL(mmx_clear_page);
EXPORT_SYMBOL
(
mmx_copy_page
);
#endif
EXPORT_SYMBOL
(
cpu_pda
);
#ifdef CONFIG_SMP
EXPORT_SYMBOL
(
cpu_data
);
EXPORT_SYMBOL
(
cpu_online_map
);
...
...
drivers/acpi/dispatcher/dsopcode.c
View file @
726bdba7
...
...
@@ -514,16 +514,14 @@ acpi_ds_init_buffer_field (
goto
cleanup
;
}
/* Entire field must fit within the current length of the buffer */
if
((
bit_offset
+
bit_count
)
>
(
8
*
(
u32
)
buffer_desc
->
buffer
.
length
))
{
ACPI_DEBUG_PRINT
((
ACPI_DB_ERROR
,
"Field [%4.4s] size %d exceeds Buffer [%4.4s] size %d (bits)
\n
"
,
((
struct
acpi_namespace_node
*
)
result_desc
)
->
name
.
ascii
,
bit_offset
+
bit_count
,
buffer_desc
->
buffer
.
node
->
name
.
ascii
,
8
*
(
u32
)
buffer_desc
->
buffer
.
length
));
"Field size %d exceeds Buffer size %d (bits)
\n
"
,
bit_offset
+
bit_count
,
8
*
(
u32
)
buffer_desc
->
buffer
.
length
));
status
=
AE_AML_BUFFER_LIMIT
;
goto
cleanup
;
}
...
...
drivers/acpi/ec.c
View file @
726bdba7
...
...
@@ -94,13 +94,6 @@ static struct acpi_ec *ec_ecdt;
/* External interfaces use first EC only, so remember */
static
struct
acpi_device
*
first_ec
;
/*
* We use kernel thread to handle ec's gpe query, so the query may defer.
* The query need a context, which can be freed when we replace ec_ecdt
* with EC device. So defered query may have a wrong context.
* We use an indication to avoid it
*/
static
int
ec_device_init
=
0
;
/* --------------------------------------------------------------------------
Transaction Management
-------------------------------------------------------------------------- */
...
...
@@ -400,11 +393,8 @@ acpi_ec_gpe_handler (
acpi_disable_gpe
(
NULL
,
ec
->
gpe_bit
,
ACPI_ISR
);
if
(
!
ec_device_init
)
acpi_ec_gpe_query
(
ec
);
/* directly query when device didn't init */
else
status
=
acpi_os_queue_for_execution
(
OSD_PRIORITY_GPE
,
acpi_ec_gpe_query
,
ec
);
status
=
acpi_os_queue_for_execution
(
OSD_PRIORITY_GPE
,
acpi_ec_gpe_query
,
ec
);
}
/* --------------------------------------------------------------------------
...
...
@@ -599,8 +589,6 @@ acpi_ec_add (
we now have the *real* EC info, so kill the makeshift one.*/
acpi_evaluate_integer
(
ec
->
handle
,
"_UID"
,
NULL
,
&
uid
);
if
(
ec_ecdt
&&
ec_ecdt
->
uid
==
uid
)
{
acpi_disable_gpe
(
NULL
,
ec_ecdt
->
gpe_bit
,
ACPI_NOT_ISR
);
ec_device_init
=
1
;
acpi_remove_address_space_handler
(
ACPI_ROOT_OBJECT
,
ACPI_ADR_SPACE_EC
,
&
acpi_ec_space_handler
);
...
...
drivers/media/video/bt832.c
View file @
726bdba7
...
...
@@ -187,7 +187,6 @@ static int bt832_attach(struct i2c_adapter *adap, int addr,
t
->
client
.
data
=
t
;
i2c_attach_client
(
&
t
->
client
);
MOD_INC_USE_COUNT
;
if
(
!
bt832_init
(
&
t
->
client
))
{
bt832_detach
(
&
t
->
client
);
return
-
1
;
...
...
@@ -210,7 +209,6 @@ static int bt832_detach(struct i2c_client *client)
printk
(
"bt832: detach.
\n
"
);
i2c_detach_client
(
client
);
kfree
(
t
);
MOD_DEC_USE_COUNT
;
return
0
;
}
...
...
drivers/media/video/bttv-cards.c
View file @
726bdba7
...
...
@@ -2439,8 +2439,8 @@ hauppauge_tuner[] __devinitdata =
{
TUNER_TEMIC_4039FR5_NTSC
,
"Temic 4039FR5"
},
{
TUNER_PHILIPS_FQ1216ME
,
"Philips FQ1216 ME"
},
{
TUNER_TEMIC_4066FY5_PAL_I
,
"Temic 4066FY5"
},
{
TUNER_
ABSENT
,
"Philips TD1536"
},
{
TUNER_
ABSENT
,
"Philips TD1536D"
},
{
TUNER_
PHILIPS_NTSC
,
"Philips TD1536"
},
{
TUNER_
PHILIPS_NTSC
,
"Philips TD1536D"
},
{
TUNER_PHILIPS_NTSC
,
"Philips FMR1236"
},
/* mono radio */
{
TUNER_ABSENT
,
"Philips FI1256MP"
},
{
TUNER_ABSENT
,
"Samsung TCPQ9091P"
},
...
...
drivers/media/video/bttv-if.c
View file @
726bdba7
...
...
@@ -247,7 +247,7 @@ static int
bttv_i2c_wait_done
(
struct
bttv
*
btv
)
{
u32
stat
;
int
timeout
;
unsigned
long
timeout
;
timeout
=
jiffies
+
HZ
/
100
+
1
;
/* 10ms */
for
(;;)
{
...
...
drivers/media/video/saa5249.c
View file @
726bdba7
...
...
@@ -214,7 +214,6 @@ static int saa5249_attach(struct i2c_adapter *adap, int addr, int kind)
}
t
->
client
=
client
;
i2c_attach_client
(
client
);
MOD_INC_USE_COUNT
;
return
0
;
}
...
...
@@ -237,7 +236,6 @@ static int saa5249_detach(struct i2c_client *client)
kfree
(
vd
->
priv
);
kfree
(
vd
);
kfree
(
client
);
MOD_DEC_USE_COUNT
;
return
0
;
}
...
...
drivers/media/video/tuner-3036.c
View file @
726bdba7
...
...
@@ -134,7 +134,6 @@ tuner_attach(struct i2c_adapter *adap, int addr, int kind)
printk
(
"tuner: SAB3036 found, status %02x
\n
"
,
tuner_getstatus
(
client
));
i2c_attach_client
(
client
);
MOD_INC_USE_COUNT
;
if
(
i2c_master_send
(
client
,
buffer
,
2
)
!=
2
)
printk
(
"tuner: i2c i/o error 1
\n
"
);
...
...
@@ -148,7 +147,6 @@ tuner_attach(struct i2c_adapter *adap, int addr, int kind)
static
int
tuner_detach
(
struct
i2c_client
*
c
)
{
MOD_DEC_USE_COUNT
;
return
0
;
}
...
...
drivers/net/3c527.c
View file @
726bdba7
...
...
@@ -109,6 +109,8 @@ DRV_NAME ".c:v" DRV_VERSION " " DRV_RELDATE " Richard Proctor (rnp@netlink.co.nz
#include "3c527.h"
MODULE_LICENSE
(
"GPL"
);
/*
* The name of the card. Is used for messages and in the requests for
* io regions, irqs and dma channels
...
...
drivers/net/8139too.c
View file @
726bdba7
...
...
@@ -245,6 +245,7 @@ static struct pci_device_id rtl8139_pci_tbl[] = {
{
0x1186
,
0x1340
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
RTL8139
},
{
0x13d1
,
0xab06
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
RTL8139
},
{
0x1259
,
0xa117
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
RTL8139
},
{
0x1259
,
0xa11e
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
RTL8139
},
{
0x14ea
,
0xab06
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
RTL8139
},
{
0x14ea
,
0xab07
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
RTL8139
},
{
0x11db
,
0x1234
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
RTL8139
},
...
...
drivers/net/arm/ether1.c
View file @
726bdba7
...
...
@@ -1036,13 +1036,8 @@ ether1_probe(struct expansion_card *ec, const struct ecard_id *id)
goto
release
;
}
printk
(
KERN_INFO
"%s: ether1 in slot %d, "
,
dev
->
name
,
ec
->
slot_no
);
for
(
i
=
0
;
i
<
6
;
i
++
)
{
for
(
i
=
0
;
i
<
6
;
i
++
)
dev
->
dev_addr
[
i
]
=
inb
(
IDPROM_ADDRESS
+
i
);
printk
(
"%2.2x%c"
,
dev
->
dev_addr
[
i
],
i
==
5
?
'\n'
:
':'
);
}
if
(
ether1_init_2
(
dev
))
{
ret
=
-
ENODEV
;
...
...
@@ -1061,6 +1056,12 @@ ether1_probe(struct expansion_card *ec, const struct ecard_id *id)
if
(
ret
)
goto
release
;
printk
(
KERN_INFO
"%s: ether1 in slot %d, "
,
dev
->
name
,
ec
->
slot_no
);
for
(
i
=
0
;
i
<
6
;
i
++
)
printk
(
"%2.2x%c"
,
dev
->
dev_addr
[
i
],
i
==
5
?
'\n'
:
':'
);
ecard_set_drvdata
(
ec
,
dev
);
return
0
;
...
...
drivers/net/arm/ether3.c
View file @
726bdba7
...
...
@@ -881,10 +881,6 @@ ether3_probe(struct expansion_card *ec, const struct ecard_id *id)
break
;
}
printk
(
"%s: %s in slot %d, "
,
dev
->
name
,
name
,
ec
->
slot_no
);
for
(
i
=
0
;
i
<
6
;
i
++
)
printk
(
"%2.2x%c"
,
dev
->
dev_addr
[
i
],
i
==
5
?
'\n'
:
':'
);
if
(
ether3_init_2
(
dev
))
{
ret
=
-
ENODEV
;
goto
failed
;
...
...
@@ -902,6 +898,10 @@ ether3_probe(struct expansion_card *ec, const struct ecard_id *id)
if
(
ret
)
goto
failed
;
printk
(
"%s: %s in slot %d, "
,
dev
->
name
,
name
,
ec
->
slot_no
);
for
(
i
=
0
;
i
<
6
;
i
++
)
printk
(
"%2.2x%c"
,
dev
->
dev_addr
[
i
],
i
==
5
?
'\n'
:
':'
);
ecard_set_drvdata
(
ec
,
dev
);
return
0
;
...
...
drivers/net/arm/etherh.c
View file @
726bdba7
...
...
@@ -665,12 +665,6 @@ etherh_probe(struct expansion_card *ec, const struct ecard_id *id)
break
;
}
printk
(
KERN_INFO
"%s: %s in slot %d, "
,
dev
->
name
,
dev_type
,
ec
->
slot_no
);
for
(
i
=
0
;
i
<
6
;
i
++
)
printk
(
"%2.2x%c"
,
dev
->
dev_addr
[
i
],
i
==
5
?
'\n'
:
':'
);
ei_local
=
(
struct
ei_device
*
)
dev
->
priv
;
if
(
ec
->
cid
.
product
==
PROD_ANT_ETHERM
)
{
ei_local
->
tx_start_page
=
ETHERM_TX_START_PAGE
;
...
...
@@ -698,6 +692,12 @@ etherh_probe(struct expansion_card *ec, const struct ecard_id *id)
if
(
ret
)
goto
release
;
printk
(
KERN_INFO
"%s: %s in slot %d, "
,
dev
->
name
,
dev_type
,
ec
->
slot_no
);
for
(
i
=
0
;
i
<
6
;
i
++
)
printk
(
"%2.2x%c"
,
dev
->
dev_addr
[
i
],
i
==
5
?
'\n'
:
':'
);
ecard_set_drvdata
(
ec
,
dev
);
return
0
;
...
...
drivers/net/bonding/bond_main.c
View file @
726bdba7
...
...
@@ -2238,8 +2238,9 @@ static int bond_release_all(struct net_device *master)
static
void
bond_mii_monitor
(
struct
net_device
*
master
)
{
bonding_t
*
bond
=
(
struct
bonding
*
)
master
->
priv
;
slave_t
*
slave
,
*
bestslave
,
*
oldcurrent
;
slave_t
*
slave
,
*
oldcurrent
;
int
slave_died
=
0
;
int
do_failover
=
0
;
read_lock
(
&
bond
->
lock
);
...
...
@@ -2249,7 +2250,6 @@ static void bond_mii_monitor(struct net_device *master)
* program could monitor the link itself if needed.
*/
bestslave
=
NULL
;
slave
=
(
slave_t
*
)
bond
;
read_lock
(
&
bond
->
ptrlock
);
...
...
@@ -2257,8 +2257,6 @@ static void bond_mii_monitor(struct net_device *master)
read_unlock
(
&
bond
->
ptrlock
);
while
((
slave
=
slave
->
prev
)
!=
(
slave_t
*
)
bond
)
{
/* use updelay+1 to match an UP slave even when updelay is 0 */
int
mindelay
=
updelay
+
1
;
struct
net_device
*
dev
=
slave
->
dev
;
int
link_state
;
u16
old_speed
=
slave
->
speed
;
...
...
@@ -2269,14 +2267,7 @@ static void bond_mii_monitor(struct net_device *master)
switch
(
slave
->
link
)
{
case
BOND_LINK_UP
:
/* the link was up */
if
(
link_state
==
BMSR_LSTATUS
)
{
/* link stays up, tell that this one
is immediately available */
if
(
IS_UP
(
dev
)
&&
(
mindelay
>
-
2
))
{
/* -2 is the best case :
this slave was already up */
mindelay
=
-
2
;
bestslave
=
slave
;
}
/* link stays up, nothing more to do */
break
;
}
else
{
/* link going down */
...
...
@@ -2316,6 +2307,7 @@ static void bond_mii_monitor(struct net_device *master)
(
bond_mode
==
BOND_MODE_8023AD
))
{
bond_set_slave_inactive_flags
(
slave
);
}
printk
(
KERN_INFO
"%s: link status definitely down "
"for interface %s, disabling it"
,
...
...
@@ -2332,12 +2324,10 @@ static void bond_mii_monitor(struct net_device *master)
bond_alb_handle_link_change
(
bond
,
slave
,
BOND_LINK_DOWN
);
}
write_lock
(
&
bond
->
ptrlock
);
if
(
slave
==
bond
->
current_slave
)
{
/* find a new interface and be verbose */
reselect_active_interface
(
bond
);
if
(
slave
==
oldcurrent
)
{
do_failover
=
1
;
}
write_unlock
(
&
bond
->
ptrlock
);
slave_died
=
1
;
}
else
{
slave
->
delay
--
;
...
...
@@ -2352,13 +2342,6 @@ static void bond_mii_monitor(struct net_device *master)
master
->
name
,
(
downdelay
-
slave
->
delay
)
*
miimon
,
dev
->
name
);
if
(
IS_UP
(
dev
)
&&
(
mindelay
>
-
1
))
{
/* -1 is a good case : this slave went
down only for a short time */
mindelay
=
-
1
;
bestslave
=
slave
;
}
}
break
;
case
BOND_LINK_DOWN
:
/* the link was down */
...
...
@@ -2428,26 +2411,12 @@ static void bond_mii_monitor(struct net_device *master)
bond_alb_handle_link_change
(
bond
,
slave
,
BOND_LINK_UP
);
}
write_lock
(
&
bond
->
ptrlock
);
if
(
(
bond
->
primary_slave
!=
NULL
)
&&
(
slave
==
bond
->
primary_slave
)
)
reselect_active_interface
(
bond
);
write_unlock
(
&
bond
->
ptrlock
);
}
else
if
((
oldcurrent
==
NULL
)
||
(
slave
==
bond
->
primary_slave
))
{
do_failover
=
1
;
}
}
else
{
slave
->
delay
--
;
/* we'll also look for the mostly eligible slave */
if
(
bond
->
primary_slave
==
NULL
)
{
if
(
IS_UP
(
dev
)
&&
(
slave
->
delay
<
mindelay
))
{
mindelay
=
slave
->
delay
;
bestslave
=
slave
;
}
}
else
if
(
(
IS_UP
(
bond
->
primary_slave
->
dev
))
||
(
(
!
IS_UP
(
bond
->
primary_slave
->
dev
))
&&
(
IS_UP
(
dev
)
&&
(
slave
->
delay
<
mindelay
))
)
)
{
mindelay
=
slave
->
delay
;
bestslave
=
slave
;
}
}
break
;
...
...
@@ -2466,26 +2435,17 @@ static void bond_mii_monitor(struct net_device *master)
}
/* end of while */
/*
* if there's no active interface and we discovered that one
* of the slaves could be activated earlier, so we do it.
*/
read_lock
(
&
bond
->
ptrlock
);
oldcurrent
=
bond
->
current_slave
;
read_unlock
(
&
bond
->
ptrlock
);
if
(
do_failover
)
{
write_lock
(
&
bond
->
ptrlock
);
/* no active interface at the moment or need to bring up the primary */
if
(
oldcurrent
==
NULL
)
{
/* no active interface at the moment */
if
(
bestslave
!=
NULL
)
{
/* last chance to find one ? */
write_lock
(
&
bond
->
ptrlock
);
change_active_interface
(
bond
,
bestslave
);
write_unlock
(
&
bond
->
ptrlock
);
}
else
if
(
slave_died
)
{
/* print this message only once a slave has just died */
reselect_active_interface
(
bond
);
if
(
oldcurrent
&&
!
bond
->
current_slave
)
{
printk
(
KERN_INFO
"%s: now running without any active interface !
\n
"
,
master
->
name
);
}
write_unlock
(
&
bond
->
ptrlock
);
}
read_unlock
(
&
bond
->
lock
);
...
...
@@ -2503,9 +2463,10 @@ static void bond_mii_monitor(struct net_device *master)
static
void
loadbalance_arp_monitor
(
struct
net_device
*
master
)
{
bonding_t
*
bond
;
slave_t
*
slave
;
slave_t
*
slave
,
*
oldcurrent
;
int
the_delta_in_ticks
=
arp_interval
*
HZ
/
1000
;
int
next_timer
=
jiffies
+
(
arp_interval
*
HZ
/
1000
);
int
do_failover
=
0
;
bond
=
(
struct
bonding
*
)
master
->
priv
;
if
(
master
->
priv
==
NULL
)
{
...
...
@@ -2529,6 +2490,10 @@ static void loadbalance_arp_monitor(struct net_device *master)
read_lock
(
&
bond
->
lock
);
read_lock
(
&
bond
->
ptrlock
);
oldcurrent
=
bond
->
current_slave
;
read_unlock
(
&
bond
->
ptrlock
);
/* see if any of the previous devices are up now (i.e. they have
* xmt and rcv traffic). the current_slave does not come into
* the picture unless it is null. also, slave->jiffies is not needed
...
...
@@ -2555,21 +2520,19 @@ static void loadbalance_arp_monitor(struct net_device *master)
* current_slave being null after enslaving
* is closed.
*/
write_lock
(
&
bond
->
ptrlock
);
if
(
bond
->
current_slave
==
NULL
)
{
if
(
oldcurrent
==
NULL
)
{
printk
(
KERN_INFO
"%s: link status definitely up "
"for interface %s, "
,
master
->
name
,
slave
->
dev
->
name
);
reselect_active_interface
(
bond
);
do_failover
=
1
;
}
else
{
printk
(
KERN_INFO
"%s: interface %s is now up
\n
"
,
master
->
name
,
slave
->
dev
->
name
);
}
write_unlock
(
&
bond
->
ptrlock
);
}
}
else
{
/* slave->link == BOND_LINK_UP */
...
...
@@ -2592,11 +2555,9 @@ static void loadbalance_arp_monitor(struct net_device *master)
master
->
name
,
slave
->
dev
->
name
);
write_lock
(
&
bond
->
ptrlock
);
if
(
slave
==
bond
->
current_slave
)
{
reselect_active_interface
(
bond
);
if
(
slave
==
oldcurrent
)
{
do_failover
=
1
;
}
write_unlock
(
&
bond
->
ptrlock
);
}
}
...
...
@@ -2612,6 +2573,19 @@ static void loadbalance_arp_monitor(struct net_device *master)
}
}
if
(
do_failover
)
{
write_lock
(
&
bond
->
ptrlock
);
reselect_active_interface
(
bond
);
if
(
oldcurrent
&&
!
bond
->
current_slave
)
{
printk
(
KERN_INFO
"%s: now running without any active interface !
\n
"
,
master
->
name
);
}
write_unlock
(
&
bond
->
ptrlock
);
}
read_unlock
(
&
bond
->
lock
);
rtnl_exunlock
();
rtnl_shunlock
();
...
...
drivers/net/pcmcia/fmvj18x_cs.c
View file @
726bdba7
...
...
@@ -502,6 +502,8 @@ static void fmvj18x_config(dev_link_t *link)
}
if
(
link
->
io
.
NumPorts2
!=
0
)
{
link
->
irq
.
Attributes
=
IRQ_TYPE_DYNAMIC_SHARING
|
IRQ_FIRST_SHARED
|
IRQ_HANDLE_PRESENT
;
ret
=
mfc_try_io_port
(
link
);
if
(
ret
!=
CS_SUCCESS
)
goto
cs_failed
;
}
else
if
(
cardtype
==
UNGERMANN
)
{
...
...
drivers/net/pcmcia/ibmtr_cs.c
View file @
726bdba7
...
...
@@ -136,7 +136,7 @@ typedef struct ibmtr_dev_t {
struct
net_device
*
dev
;
dev_node_t
node
;
window_handle_t
sram_win_handle
;
struct
tok_info
ti
;
struct
tok_info
*
ti
;
}
ibmtr_dev_t
;
static
void
netdev_get_drvinfo
(
struct
net_device
*
dev
,
...
...
@@ -168,13 +168,18 @@ static dev_link_t *ibmtr_attach(void)
DEBUG
(
0
,
"ibmtr_attach()
\n
"
);
/* Create new token-ring device */
dev
=
alloc_trdev
(
sizeof
(
*
info
));
if
(
!
dev
)
return
NULL
;
info
=
dev
->
priv
;
info
=
kmalloc
(
sizeof
(
*
info
),
GFP_KERNEL
);
if
(
!
info
)
return
NULL
;
memset
(
info
,
0
,
sizeof
(
*
info
));
dev
=
alloc_trdev
(
sizeof
(
struct
tok_info
));
if
(
!
dev
)
{
kfree
(
info
);
return
NULL
;
}
link
=
&
info
->
link
;
link
->
priv
=
info
;
info
->
ti
=
dev
->
priv
;
link
->
io
.
Attributes1
=
IO_DATA_PATH_WIDTH_8
;
link
->
io
.
NumPorts1
=
4
;
...
...
@@ -265,6 +270,7 @@ static void ibmtr_detach(dev_link_t *link)
*
linkp
=
link
->
next
;
unregister_netdev
(
dev
);
free_netdev
(
dev
);
kfree
(
info
);
}
/* ibmtr_detach */
/*======================================================================
...
...
drivers/net/r8169.c
View file @
726bdba7
...
...
@@ -292,6 +292,7 @@ struct rtl8169_private {
MODULE_AUTHOR
(
"Realtek"
);
MODULE_DESCRIPTION
(
"RealTek RTL-8169 Gigabit Ethernet driver"
);
MODULE_PARM
(
media
,
"1-"
__MODULE_STRING
(
MAX_UNITS
)
"i"
);
MODULE_LICENSE
(
"GPL"
);
static
int
rtl8169_open
(
struct
net_device
*
dev
);
static
int
rtl8169_start_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
);
...
...
drivers/net/sis900.c
View file @
726bdba7
...
...
@@ -1438,7 +1438,7 @@ static void sis900_tx_timeout(struct net_device *net_dev)
pci_unmap_single
(
sis_priv
->
pci_dev
,
sis_priv
->
tx_ring
[
i
].
bufptr
,
skb
->
len
,
PCI_DMA_TODEVICE
);
dev_kfree_skb
(
skb
);
dev_kfree_skb
_irq
(
skb
);
sis_priv
->
tx_skbuff
[
i
]
=
0
;
sis_priv
->
tx_ring
[
i
].
cmdsts
=
0
;
sis_priv
->
tx_ring
[
i
].
bufptr
=
0
;
...
...
drivers/net/starfire.c
View file @
726bdba7
...
...
@@ -139,6 +139,7 @@ TODO: bugfixes (no bugs known as of right now)
#include <linux/config.h>
#include <linux/version.h>
#include <linux/module.h>
#include <asm/io.h>
#include <linux/kernel.h>
#include <linux/pci.h>
#include <linux/netdevice.h>
...
...
@@ -1174,15 +1175,9 @@ static int netdev_open(struct net_device *dev)
TX_DESC_SPACING
|
TX_DESC_TYPE
,
ioaddr
+
TxDescCtrl
);
#if defined(ADDR_64BITS)
writel
(
np
->
queue_mem_dma
>>
32
,
ioaddr
+
RxDescQHiAddr
);
writel
(
np
->
queue_mem_dma
>>
32
,
ioaddr
+
TxRingHiAddr
);
writel
(
np
->
queue_mem_dma
>>
32
,
ioaddr
+
CompletionHiAddr
);
#else
writel
(
0
,
ioaddr
+
RxDescQHiAddr
);
writel
(
0
,
ioaddr
+
TxRingHiAddr
);
writel
(
0
,
ioaddr
+
CompletionHiAddr
);
#endif
writel
(
(
np
->
queue_mem_dma
>>
16
)
>>
16
,
ioaddr
+
RxDescQHiAddr
);
writel
(
(
np
->
queue_mem_dma
>>
16
)
>>
16
,
ioaddr
+
TxRingHiAddr
);
writel
(
(
np
->
queue_mem_dma
>>
16
)
>>
16
,
ioaddr
+
CompletionHiAddr
);
writel
(
np
->
rx_ring_dma
,
ioaddr
+
RxDescQAddr
);
writel
(
np
->
tx_ring_dma
,
ioaddr
+
TxRingPtr
);
...
...
drivers/net/tokenring/ibmtr.c
View file @
726bdba7
...
...
@@ -152,7 +152,7 @@ static char version[] __initdata =
/* this allows displaying full adapter information */
char
*
channel_def
[]
__initdata
=
{
"ISA"
,
"MCA"
,
"ISA P&P"
};
char
*
channel_def
[]
__
dev
initdata
=
{
"ISA"
,
"MCA"
,
"ISA P&P"
};
static
char
pcchannelid
[]
__devinitdata
=
{
0x05
,
0x00
,
0x04
,
0x09
,
...
...
@@ -864,7 +864,8 @@ static int tok_open(struct net_device *dev)
ti
->
sram_virt
&=
~
1
;
/* to reverse what we do in tok_close */
/* init the spinlock */
ti
->
lock
=
(
spinlock_t
)
SPIN_LOCK_UNLOCKED
;
init_timer
(
&
ti
->
tr_timer
);
i
=
tok_init_card
(
dev
);
if
(
i
)
return
i
;
...
...
@@ -1033,7 +1034,7 @@ static int tok_close(struct net_device *dev)
/* Important for PCMCIA hot unplug, otherwise, we'll pull the card, */
/* unloading the module from memory, and then if a timer pops, ouch */
del_timer
(
&
ti
->
tr_timer
);
del_timer
_sync
(
&
ti
->
tr_timer
);
outb
(
0
,
dev
->
base_addr
+
ADAPTRESET
);
ti
->
sram_virt
|=
1
;
ti
->
open_status
=
CLOSED
;
...
...
drivers/net/wireless/airo.c
View file @
726bdba7
...
...
@@ -982,6 +982,7 @@ static void timer_func( struct net_device *dev );
static
int
airo_ioctl
(
struct
net_device
*
dev
,
struct
ifreq
*
rq
,
int
cmd
);
#ifdef WIRELESS_EXT
struct
iw_statistics
*
airo_get_wireless_stats
(
struct
net_device
*
dev
);
static
void
airo_read_wireless_stats
(
struct
airo_info
*
local
);
#endif
/* WIRELESS_EXT */
#ifdef CISCO_EXT
static
int
readrids
(
struct
net_device
*
dev
,
aironet_ioctl
*
comp
);
...
...
@@ -1027,7 +1028,7 @@ struct airo_info {
#define FLAG_PENDING_XMIT 9
#define FLAG_PENDING_XMIT11 10
#define FLAG_PCI 11
#define JOB_MASK 0xff0000
#define JOB_MASK 0x
1
ff0000
#define JOB_DIE 16
#define JOB_XMIT 17
#define JOB_XMIT11 18
...
...
@@ -1036,6 +1037,7 @@ struct airo_info {
#define JOB_MIC 21
#define JOB_EVENT 22
#define JOB_AUTOWEP 23
#define JOB_WSTATS 24
int
(
*
bap_read
)(
struct
airo_info
*
,
u16
*
pu16Dst
,
int
bytelen
,
int
whichbap
);
unsigned
short
*
flash
;
...
...
@@ -1692,8 +1694,8 @@ static int writeConfigRid(struct airo_info*ai, int lock) {
return
PC4500_writerid
(
ai
,
RID_CONFIG
,
&
cfgr
,
sizeof
(
cfgr
),
lock
);
}
static
int
readStatusRid
(
struct
airo_info
*
ai
,
StatusRid
*
statr
)
{
int
rc
=
PC4500_readrid
(
ai
,
RID_STATUS
,
statr
,
sizeof
(
*
statr
),
1
);
static
int
readStatusRid
(
struct
airo_info
*
ai
,
StatusRid
*
statr
,
int
lock
)
{
int
rc
=
PC4500_readrid
(
ai
,
RID_STATUS
,
statr
,
sizeof
(
*
statr
),
lock
);
u16
*
s
;
statr
->
len
=
le16_to_cpu
(
statr
->
len
);
...
...
@@ -2415,6 +2417,8 @@ static int airo_thread(void *data) {
airo_end_xmit11
(
dev
);
else
if
(
test_bit
(
JOB_STATS
,
&
ai
->
flags
))
airo_read_stats
(
ai
);
else
if
(
test_bit
(
JOB_WSTATS
,
&
ai
->
flags
))
airo_read_wireless_stats
(
ai
);
else
if
(
test_bit
(
JOB_PROMISC
,
&
ai
->
flags
))
airo_set_promisc
(
ai
);
#ifdef MICSUPPORT
...
...
@@ -2944,7 +2948,6 @@ static u16 setup_card(struct airo_info *ai, u8 *mac)
ai
->
config
.
opmode
=
adhoc
?
MODE_STA_IBSS
:
MODE_STA_ESS
;
ai
->
config
.
authType
=
AUTH_OPEN
;
ai
->
config
.
modulation
=
MOD_CCK
;
ai
->
config
.
_reserved1a
[
0
]
=
2
;
/* ??? */
#ifdef MICSUPPORT
if
((
cap_rid
.
len
>=
sizeof
(
cap_rid
))
&&
(
cap_rid
.
extSoftCap
&
1
)
&&
...
...
@@ -3723,7 +3726,7 @@ static int proc_status_open( struct inode *inode, struct file *file ) {
return
-
ENOMEM
;
}
readStatusRid
(
apriv
,
&
status_rid
);
readStatusRid
(
apriv
,
&
status_rid
,
1
);
readCapabilityRid
(
apriv
,
&
cap_rid
);
i
=
sprintf
(
data
->
rbuffer
,
"Status: %s%s%s%s%s%s%s%s%s
\n
"
,
...
...
@@ -4767,7 +4770,7 @@ static int airo_get_freq(struct net_device *dev,
if
((
local
->
config
.
opmode
&
0xFF
)
==
MODE_STA_ESS
)
status_rid
.
channel
=
local
->
config
.
channelSet
;
else
readStatusRid
(
local
,
&
status_rid
);
readStatusRid
(
local
,
&
status_rid
,
1
);
#ifdef WEXT_USECHANNELS
fwrq
->
m
=
((
int
)
status_rid
.
channel
)
+
1
;
...
...
@@ -4842,7 +4845,7 @@ static int airo_get_essid(struct net_device *dev,
struct
airo_info
*
local
=
dev
->
priv
;
StatusRid
status_rid
;
/* Card status info */
readStatusRid
(
local
,
&
status_rid
);
readStatusRid
(
local
,
&
status_rid
,
1
);
/* Note : if dwrq->flags != 0, we should
* get the relevant SSID from the SSID list... */
...
...
@@ -4906,7 +4909,7 @@ static int airo_get_wap(struct net_device *dev,
struct
airo_info
*
local
=
dev
->
priv
;
StatusRid
status_rid
;
/* Card status info */
readStatusRid
(
local
,
&
status_rid
);
readStatusRid
(
local
,
&
status_rid
,
1
);
/* Tentative. This seems to work, wow, I'm lucky !!! */
memcpy
(
awrq
->
sa_data
,
status_rid
.
bssid
[
0
],
ETH_ALEN
);
...
...
@@ -5039,7 +5042,7 @@ static int airo_get_rate(struct net_device *dev,
struct
airo_info
*
local
=
dev
->
priv
;
StatusRid
status_rid
;
/* Card status info */
readStatusRid
(
local
,
&
status_rid
);
readStatusRid
(
local
,
&
status_rid
,
1
);
vwrq
->
value
=
status_rid
.
currentXmitRate
*
500000
;
/* If more than one rate, set auto */
...
...
@@ -5755,7 +5758,7 @@ static int airo_get_aplist(struct net_device *dev,
}
if
(
!
i
)
{
StatusRid
status_rid
;
/* Card status info */
readStatusRid
(
local
,
&
status_rid
);
readStatusRid
(
local
,
&
status_rid
,
1
);
for
(
i
=
0
;
i
<
min
(
IW_MAX_AP
,
4
)
&&
(
status_rid
.
bssid
[
i
][
0
]
...
...
@@ -6562,16 +6565,17 @@ static int airo_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
*
* Jean
*/
st
ruct
iw_statistics
*
airo_get_wireless_stats
(
struct
net_device
*
dev
)
st
atic
void
airo_read_wireless_stats
(
struct
airo_info
*
local
)
{
struct
airo_info
*
local
=
dev
->
priv
;
StatusRid
status_rid
;
StatsRid
stats_rid
;
u32
*
vals
=
stats_rid
.
vals
;
/* Get stats out of the card */
readStatusRid
(
local
,
&
status_rid
);
readStatsRid
(
local
,
&
stats_rid
,
RID_STATS
,
1
);
clear_bit
(
JOB_WSTATS
,
&
local
->
flags
);
readStatusRid
(
local
,
&
status_rid
,
0
);
readStatsRid
(
local
,
&
stats_rid
,
RID_STATS
,
0
);
up
(
&
local
->
sem
);
/* The status */
local
->
wstats
.
status
=
status_rid
.
mode
;
...
...
@@ -6598,6 +6602,19 @@ struct iw_statistics *airo_get_wireless_stats(struct net_device *dev)
local
->
wstats
.
discard
.
retries
=
vals
[
10
];
local
->
wstats
.
discard
.
misc
=
vals
[
1
]
+
vals
[
32
];
local
->
wstats
.
miss
.
beacon
=
vals
[
34
];
}
struct
iw_statistics
*
airo_get_wireless_stats
(
struct
net_device
*
dev
)
{
struct
airo_info
*
local
=
dev
->
priv
;
/* Get stats out of the card if available */
if
(
down_trylock
(
&
local
->
sem
)
!=
0
)
{
set_bit
(
JOB_WSTATS
,
&
local
->
flags
);
wake_up_interruptible
(
&
local
->
thr_wait
);
}
else
airo_read_wireless_stats
(
local
);
return
&
local
->
wstats
;
}
#endif
/* WIRELESS_EXT */
...
...
drivers/pci/setup-bus.c
View file @
726bdba7
...
...
@@ -132,13 +132,19 @@ pci_setup_cardbus(struct pci_bus *bus)
PCI-to-PCI Bridge Architecture Specification rev. 1.1 (1998)
requires that if there is no I/O ports or memory behind the
bridge, corresponding range must be turned off by writing base
value greater than limit to the bridge's base/limit registers. */
value greater than limit to the bridge's base/limit registers.
Note: care must be taken when updating I/O base/limit registers
of bridges which support 32-bit I/O. This update requires two
config space writes, so it's quite possible that an I/O window of
the bridge will have some undesirable address (e.g. 0) after the
first write. Ditto 64-bit prefetchable MMIO. */
static
void
__devinit
pci_setup_bridge
(
struct
pci_bus
*
bus
)
{
struct
pci_dev
*
bridge
=
bus
->
self
;
struct
pci_bus_region
region
;
u32
l
;
u32
l
,
io_upper16
;
DBGC
((
KERN_INFO
"PCI: Bus %d, bridge: %s
\n
"
,
bus
->
number
,
pci_name
(
bridge
)));
...
...
@@ -151,20 +157,22 @@ pci_setup_bridge(struct pci_bus *bus)
l
|=
(
region
.
start
>>
8
)
&
0x00f0
;
l
|=
region
.
end
&
0xf000
;
/* Set up upper 16 bits of I/O base/limit. */
pci_write_config_word
(
bridge
,
PCI_IO_BASE_UPPER16
,
region
.
start
>>
16
);
pci_write_config_word
(
bridge
,
PCI_IO_LIMIT_UPPER16
,
region
.
end
>>
16
);
io_upper16
=
(
region
.
end
&
0xffff0000
)
|
(
region
.
start
>>
16
);
DBGC
((
KERN_INFO
" IO window: %04lx-%04lx
\n
"
,
region
.
start
,
region
.
end
));
}
else
{
/* Clear upper 16 bits of I/O base/limit. */
pci_write_config_dword
(
bridge
,
PCI_IO_BASE_UPPER16
,
0
)
;
io_upper16
=
0
;
l
=
0x00f0
;
DBGC
((
KERN_INFO
" IO window: disabled.
\n
"
));
}
/* Temporarily disable the I/O range before updating PCI_IO_BASE. */
pci_write_config_dword
(
bridge
,
PCI_IO_BASE_UPPER16
,
0x0000ffff
);
/* Update lower 16 bits of I/O base/limit. */
pci_write_config_dword
(
bridge
,
PCI_IO_BASE
,
l
);
/* Update upper 16 bits of I/O base/limit. */
pci_write_config_dword
(
bridge
,
PCI_IO_BASE_UPPER16
,
io_upper16
);
/* Set up the top and bottom of the PCI Memory segment
for this bus. */
...
...
@@ -181,8 +189,9 @@ pci_setup_bridge(struct pci_bus *bus)
}
pci_write_config_dword
(
bridge
,
PCI_MEMORY_BASE
,
l
);
/* Clear out the upper 32 bits of PREF base/limit. */
pci_write_config_dword
(
bridge
,
PCI_PREF_BASE_UPPER32
,
0
);
/* Clear out the upper 32 bits of PREF limit.
If PCI_PREF_BASE_UPPER32 was non-zero, this temporarily
disables PREF range, which is ok. */
pci_write_config_dword
(
bridge
,
PCI_PREF_LIMIT_UPPER32
,
0
);
/* Set up PREF base/limit. */
...
...
@@ -199,6 +208,9 @@ pci_setup_bridge(struct pci_bus *bus)
}
pci_write_config_dword
(
bridge
,
PCI_PREF_MEMORY_BASE
,
l
);
/* Clear out the upper 32 bits of PREF base. */
pci_write_config_dword
(
bridge
,
PCI_PREF_BASE_UPPER32
,
0
);
/* Check if we have VGA behind the bridge.
Enable ISA in either case (FIXME!). */
l
=
(
bus
->
resource
[
0
]
->
flags
&
IORESOURCE_BUS_HAS_VGA
)
?
0x0c
:
0x04
;
...
...
drivers/pcmcia/yenta_socket.c
View file @
726bdba7
...
...
@@ -461,6 +461,7 @@ static void yenta_clear_maps(struct yenta_socket *socket)
static
int
yenta_sock_init
(
struct
pcmcia_socket
*
sock
)
{
struct
yenta_socket
*
socket
=
container_of
(
sock
,
struct
yenta_socket
,
socket
);
u32
state
;
u16
bridge
;
bridge
=
config_readw
(
socket
,
CB_BRIDGE_CONTROL
)
&
~
CB_BRIDGE_INTR
;
...
...
@@ -472,7 +473,10 @@ static int yenta_sock_init(struct pcmcia_socket *sock)
exca_writeb
(
socket
,
I365_GENCTL
,
0x00
);
/* Redo card voltage interrogation */
cb_writel
(
socket
,
CB_SOCKET_FORCE
,
CB_CVSTEST
);
state
=
cb_readl
(
socket
,
CB_SOCKET_STATE
);
if
(
!
(
state
&
(
CB_CDETECT1
|
CB_CDETECT2
|
CB_5VCARD
|
CB_3VCARD
|
CB_XVCARD
|
CB_YVCARD
)))
cb_writel
(
socket
,
CB_SOCKET_FORCE
,
CB_CVSTEST
);
yenta_clear_maps
(
socket
);
...
...
drivers/pnp/isapnp/core.c
View file @
726bdba7
...
...
@@ -1160,7 +1160,7 @@ int __init isapnp_init(void)
return
0
;
}
device
_initcall
(
isapnp_init
);
fs
_initcall
(
isapnp_init
);
/* format is: noisapnp */
...
...
drivers/serial/serial_core.c
View file @
726bdba7
...
...
@@ -1707,6 +1707,9 @@ static int uart_line_info(char *buf, struct uart_driver *drv, int i)
strcat
(
stat_buf
,
"
\n
"
);
ret
+=
sprintf
(
buf
+
ret
,
stat_buf
);
}
else
{
strcat
(
buf
,
"
\n
"
);
ret
++
;
}
#undef STATBIT
#undef INFOBIT
...
...
drivers/usb/serial/Kconfig
View file @
726bdba7
...
...
@@ -73,7 +73,7 @@ config USB_SERIAL_BELKIN
config USB_SERIAL_WHITEHEAT
tristate "USB ConnectTech WhiteHEAT Serial Driver"
depends on USB_SERIAL
depends on USB_SERIAL
&& BROKEN_ON_SMP
help
Say Y here if you want to use a ConnectTech WhiteHEAT 4 port
USB to serial converter device.
...
...
drivers/usb/serial/digi_acceleport.c
View file @
726bdba7
...
...
@@ -444,7 +444,7 @@ struct digi_port {
/* Local Function Declarations */
static
void
digi_wakeup_write
(
struct
usb_serial_port
*
port
);
static
void
digi_wakeup_write_lock
(
struct
usb_serial_port
*
port
);
static
void
digi_wakeup_write_lock
(
void
*
);
static
int
digi_write_oob_command
(
struct
usb_serial_port
*
port
,
unsigned
char
*
buf
,
int
count
,
int
interruptible
);
static
int
digi_write_inb_command
(
struct
usb_serial_port
*
port
,
...
...
@@ -608,9 +608,9 @@ static inline long cond_wait_interruptible_timeout_irqrestore(
* on writes.
*/
static
void
digi_wakeup_write_lock
(
struct
usb_serial_port
*
port
)
static
void
digi_wakeup_write_lock
(
void
*
arg
)
{
struct
usb_serial_port
*
port
=
arg
;
unsigned
long
flags
;
struct
digi_port
*
priv
=
usb_get_serial_port_data
(
port
);
...
...
fs/direct-io.c
View file @
726bdba7
...
...
@@ -677,7 +677,7 @@ static void dio_zero_block(struct dio *dio, int end)
this_chunk_bytes
=
this_chunk_blocks
<<
dio
->
blkbits
;
page
=
ZERO_PAGE
(
dio
->
cur_user_address
);
page
=
ZERO_PAGE
(
dio
->
cur
r
_user_address
);
if
(
submit_page_section
(
dio
,
page
,
0
,
this_chunk_bytes
,
dio
->
next_block_for_io
))
return
;
...
...
fs/jbd/transaction.c
View file @
726bdba7
...
...
@@ -147,10 +147,13 @@ static int start_this_handle(journal_t *journal, handle_t *handle)
* lock to be released.
*/
if
(
transaction
->
t_state
==
T_LOCKED
)
{
DEFINE_WAIT
(
wait
);
prepare_to_wait
(
&
journal
->
j_wait_transaction_locked
,
&
wait
,
TASK_UNINTERRUPTIBLE
);
spin_unlock
(
&
journal
->
j_state_lock
);
jbd_debug
(
3
,
"Handle %p stalling...
\n
"
,
handle
);
wait_event
(
journal
->
j_wait_transaction_locked
,
transaction
->
t_state
!=
T_LOCKED
);
schedule
();
finish_wait
(
&
journal
->
j_wait_transaction_locked
,
&
wait
);
goto
repeat
;
}
...
...
fs/jfs/jfs_metapage.c
View file @
726bdba7
...
...
@@ -511,9 +511,6 @@ void __invalidate_metapages(struct inode *ip, s64 addr, int len)
if
(
mp
)
{
set_bit
(
META_discard
,
&
mp
->
flag
);
spin_unlock
(
&
meta_lock
);
lock_page
(
mp
->
page
);
block_invalidatepage
(
mp
->
page
,
0
);
unlock_page
(
mp
->
page
);
}
else
{
spin_unlock
(
&
meta_lock
);
page
=
find_lock_page
(
mapping
,
lblock
>>
l2BlocksPerPage
);
...
...
include/linux/serial.h
View file @
726bdba7
...
...
@@ -49,7 +49,6 @@ struct serial_struct {
unsigned
short
iomem_reg_shift
;
unsigned
int
port_high
;
unsigned
long
iomap_base
;
/* cookie passed into ioremap */
int
reserved
[
1
];
};
/*
...
...
kernel/module.c
View file @
726bdba7
...
...
@@ -1658,7 +1658,7 @@ static struct module *load_module(void __user *umod,
NULL
);
}
if
(
err
<
0
)
goto
cleanup
;
goto
arch_
cleanup
;
/* Get rid of temporary copy */
vfree
(
hdr
);
...
...
@@ -1666,6 +1666,8 @@ static struct module *load_module(void __user *umod,
/* Done! */
return
mod
;
arch_cleanup:
module_arch_cleanup
(
mod
);
cleanup:
module_unload_free
(
mod
);
module_free
(
mod
,
mod
->
module_init
);
...
...
net/core/dev.c
View file @
726bdba7
...
...
@@ -3049,7 +3049,7 @@ static int __init net_dev_init(void)
return
rc
;
}
subsy
s_initcall
(
net_dev_init
);
f
s_initcall
(
net_dev_init
);
EXPORT_SYMBOL
(
__dev_get
);
EXPORT_SYMBOL
(
__dev_get_by_flags
);
...
...
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