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
c303d64b
Commit
c303d64b
authored
Oct 28, 2003
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://bk.arm.linux.org.uk/linux-2.6-serial
into home.osdl.org:/home/torvalds/v2.5/linux
parents
875d18e9
cb27af80
Changes
24
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
142 additions
and
147 deletions
+142
-147
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/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/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/pcmcia/yenta_socket.c
drivers/pcmcia/yenta_socket.c
+5
-1
drivers/pnp/isapnp/core.c
drivers/pnp/isapnp/core.c
+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
net/core/dev.c
net/core/dev.c
+1
-1
No files found.
arch/x86_64/kernel/x8664_ksyms.c
View file @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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/bttv-cards.c
View file @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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/net/3c527.c
View file @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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/pcmcia/yenta_socket.c
View file @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -1160,7 +1160,7 @@ int __init isapnp_init(void)
return
0
;
}
device
_initcall
(
isapnp_init
);
fs
_initcall
(
isapnp_init
);
/* format is: noisapnp */
...
...
drivers/usb/serial/digi_acceleport.c
View file @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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 @
c303d64b
...
...
@@ -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
;
}
...
...
net/core/dev.c
View file @
c303d64b
...
...
@@ -3023,7 +3023,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