Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit Switch - Software
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
86
Issues
86
List
Board
Labels
Milestones
Merge Requests
4
Merge Requests
4
CI / CD
CI / CD
Pipelines
Schedules
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
White Rabbit Switch - Software
Commits
e3720418
Commit
e3720418
authored
Dec 20, 2012
by
Alessandro Rubini
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kernel/wr_nic: bugfix: increment MAC address after using it
Signed-off-by:
Alessandro Rubini
<
rubini@gnudd.com
>
parent
a8710d02
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
3 deletions
+6
-3
endpoint.c
kernel/wr_nic/endpoint.c
+6
-3
No files found.
kernel/wr_nic/endpoint.c
View file @
e3720418
...
...
@@ -262,14 +262,17 @@ int wrn_endpoint_probe(struct net_device *dev)
wraddr
[
3
]
&=
0x7F
;
}
/* Use sequential MAC */
val
=
get_unaligned_be32
(
wraddr
+
2
);
put_unaligned_be32
(
val
+
1
,
wraddr
+
2
);
/* Use wraddr as MAC */
memcpy
(
dev
->
dev_addr
,
wraddr
,
ETH_ALEN
);
pr_debug
(
"wr_nic: assign MAC %pM to wr%d
\n
"
,
dev
->
dev_addr
,
epnum
);
/* Finally, register and succeed, or fail and undo */
err
=
register_netdev
(
dev
);
/* Increment MAC address for next endpoint */
val
=
get_unaligned_be32
(
wraddr
+
2
);
put_unaligned_be32
(
val
+
1
,
wraddr
+
2
);
if
(
err
)
{
printk
(
KERN_ERR
DRV_NAME
"Can't register dev %s
\n
"
,
dev
->
name
);
...
...
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