Commit graph

157383 commits

Author SHA1 Message Date
John Williams
fadf2e60a6 microblaze: Get module loading working
New reloc type R_MICROBLAZE_32_PCREL_LO requires a null handler (no work to do).

Remove legacy hack for broken linker pre gcc-4.1.1, that required us to extract
an offset from the code, add it to the addend, then rewrite the instruction.

Fixup the invalid reloc type error output.

Boot tested with the xilinx_emaclite ethernet driver.

Signed-off-by: John Williams <john.williams@petalogix.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-07-27 09:03:17 +02:00
Arnd Bergmann
bfc0ca0d33 microblaze: remove sys_ipc
The ipc system call is now unused in microblaze,
as the system call table points directly to the
indidual system calls for IPC.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-07-27 09:03:16 +02:00
Michal Simek
3863dbceac microblaze: Support unaligned address for put/get_user macros
This patch add support for cases where load/store instruction
in put/get_user macro gets unaligned pointer to data and this
address is not valid. I prevent all cases which can failed.
I had to disable first stage of unaligned handler which is used
only for noMMU kernel and the whole work is done when interrupt
is enabled.
You have enable HW support for detect unaligned access in Microblaze.

This patch fixed three LTP tests:
getpeername01, getsockname01, socketpair01

Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-07-27 09:03:15 +02:00
Michal Simek
94ad8eb854 microblaze: Detect new Microblaze 7.20 versions
Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-07-27 07:39:55 +02:00
Michal Simek
f10eca6e10 microblaze: Fix do_page_fault for no context
Calling fixup when we are in kernel mode. This
prevent fault for copy_to/from_user. This fault
was find thanks to writev01/03/04 LTP tests.

Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-07-27 07:39:55 +02:00
Michal Simek
f14d6f7c31 microblaze: Add _PAGE_FILE macros to pgtable.h
We need to define _PAGE_FILE macro and change pte
functions. Microblaze use the same MMU as PowerPC
that's why we define _PAGE_FILE in the same style.
This change fixed remap_file_pages01 LTP test.

Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-07-27 07:39:54 +02:00
Michal Simek
7bcb63b213 microblaze: Fix put_user macro for 64bits arguments
For 64bits arguments gcc caused that put_user macro
works with wrong value because of optimalization.
Adding volatile caused that gcc not optimized it.

It is possible to use (as Blackfin do) two put_user
macros with 32bits arguments but there is one more
instruction which is due to duplication zero return
value which is called put_user_asm macro.

Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-07-27 07:39:54 +02:00
Michal Simek
ea3fd1466f microblaze: Clear print messages for DTB passing via r7
It is necessary to zeroed r7 when r7 points to bad
dtb - this caused that we have correct messages
about compiled-in dtb or passing via r7

Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-07-27 07:39:54 +02:00
Michal Simek
a69cb8c466 microblaze: Not to clear r7 after copying DTB to kernel
I can't clear r7 because if I do it I lose information
where DTB come from.

Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-07-27 07:39:54 +02:00
Michal Simek
74510f2a27 microblaze: Add messages about FDT blob
Print accurate message about place where FDT blob is.

Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-07-27 07:39:53 +02:00
John Williams
909964ec89 microblaze: Final support for statically linked DTB
If r7 is zero at kernel boot, or does not point to a valid DTB, then
we fall back to a DTB (assumed to be) linked statically in the kernel, instead
of blindly copying bogus cruft into the kernel DTB memory region

Signed-off-by: John Williams <john.williams@petalogix.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-07-27 07:39:53 +02:00
Huang Weiyi
1170902b34 microblaze: remove duplicated #include
Remove duplicated #include('s) in
  arch/microblaze/include/asm/io.h

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-07-27 07:39:53 +02:00
Michal Simek
efffde36d2 microblaze: Define tlb_flush macro
This fix remove bug which we had till now in all
Microblaze MMU code. Primary tested on mmap01 LTP test.
We forget to flush invalid tlb which were changed - we
used them and there were wrong old data which wasn't correct.

Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-07-27 07:39:53 +02:00
Don Skidmore
8bae1b2b13 ixgbe: fix for 82599 errata marking UDP checksum errors
There is an 82599 errata that UDP frames with a zero checksum are
incorrectly marked as checksum invalid by the hardware.  This was
leading to misleading hw_csum_rx_error counts. This patch adds a
test around this counter increase for this condition.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 20:20:47 -07:00
françois romieu
ca52efd549 r8169: WakeOnLan fix for the 8168
More stuff for http://bugzilla.kernel.org/show_bug.cgi?id=9512

Some 8168 are unable to WoL when receiving is not enabled (plain
old 8169 do not seem to care).

It is not exactly pretty to leave the receiver enabled but we
should now enable DMA late enough for it to be safe. Some late
stage boot failure due to pxe and friends may benefit from the
delayed enabling of bus-mastering as well.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Tested-by: Jaromír Cápík <tavvva@volny.cz>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
2009-07-26 20:18:52 -07:00
Dhananjay Phadke
c8a5a658b8 netxen: reset ring consumer during cleanup
Reset consumer of status rings to 0 when cleaning
up sw resources. Status rings are not deleted
during suspend since they have napi objects.

This ensures correct rx processing across suspen-resume.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 20:17:21 -07:00
Eric Dumazet
72dccb01e8 bnx2: Update vlan_features
[PATCH net-next-2.6] bnx2: Update vlan_features

In order to get full use of some advanced features of BNX2, we now need to
fill dev->vlan_features.

Patch successfully tested with vlan devices built on top of bonding.
(bond0 : one bnx2 slave, one tg3 slave (not yet vlan_features enabled)

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 19:25:49 -07:00
Tomas Winkler
51def0bea9 imwc3200: move iwmc3200 SDIO ids to sdio_ids.h
1. add intel's sdio vendor id to sdio_ids.h
2. move iwmc3200 sdio devices' ids to sdio_ids.h

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 19:25:47 -07:00
Sridhar Samudrala
1896e61ff7 ethtool: device independent rx_csum and get_flags routines
This helps avoid error messages with ethtool -k on devices that
don't provide device specific routines.

Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>

------------------------------------------------------------------
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 19:25:45 -07:00
Eric Dumazet
7d073c68a4 bnx2x: Dont update vlan_features in bnx2x_set_tso()
Patrick said : "vlan_features doesn't need to be updated, the resulting
dev->features of the VLAN device is computed as the intersection of
dev->features and dev->vlan_features."

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 19:25:45 -07:00
Johannes Berg
b5eb058993 net: deprecate print_mac
We've had %pM for long enough now, time to deprecate
print_mac() and remove the __maybe_unused attribute
from DECLARE_MAC_BUF so that variables declared with
that can be found and removed. Otherwise people are
putting in new users of print_mac().

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 19:25:44 -07:00
Xiaotian Feng
c587aea951 net/bridge: use kobject_put to release kobject in br_add_if error path
kobject_init_and_add will alloc memory for kobj->name, so in br_add_if
error path, simply use kobject_del will not free memory for kobj->name.
Fix by using kobject_put instead, kobject_put will internally calls
kobject_del and frees memory for kobj->name.

Signed-off-by: Xiaotian Feng <dfeng@redhat.com>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 19:20:51 -07:00
Alessandro Rubini
4a29f39642 smc91x.h: add config for Nomadik evaluation kit
Signed-off-by: Alessandro Rubini <rubini@unipv.it>
Acked-by: Andrea Gallo <andrea.gallo@stericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 19:15:07 -07:00
Ralf Baechle
dcf777f6ed NET: ROSE: Don't use static buffer.
The use of a static buffer in rose2asc() to return its result is not
threadproof and can result in corruption if multiple threads are trying
to use one of the procfs files based on rose2asc().

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 19:11:14 -07:00
Mike McCormack
c409c34bc4 sky2: remove unnecessary assignment
Signed-off-by: Mike McCormack <mikem@ring3k.org>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 19:06:46 -07:00
Roel Kluin
d513d018e2 eepro: Read buffer overflow
io[i] is read before the bounds check on i, order should be reversed

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 18:53:17 -07:00
roel kluin
c65d3198ad tokenring: Read buffer overflow
io[i] is read before the bounds check on i, order should be reversed

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 18:50:39 -07:00
roel kluin
3b73e79b0d at1700: Read buffer overflow
loop bound looks to be wrong, for an array of length 8

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 18:50:38 -07:00
roel kluin
f83284fe20 fealnx: Write outside array bounds
phy_idx is checked to be < 4, but np->phys[] is 2 elements long

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 18:50:37 -07:00
David S. Miller
421d20a3dc phonet: Fix build.
As reported by Oliver Hartkopp:

net/phonet/pn_dev.c: In function ‘phonet_init_net’:
net/phonet/pn_dev.c:221: error: implicit declaration of function
‘proc_net_fops_create’
net/phonet/pn_dev.c: In function ‘phonet_exit_net’:
net/phonet/pn_dev.c:242: error: implicit declaration of function ‘proc_net_remove’

Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 13:39:10 -07:00
David S. Miller
c8b201ff86 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2009-07-26 10:01:25 -07:00
David S. Miller
436b355b96 Merge branch 'for_david' of git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6-net-next 2009-07-26 10:00:21 -07:00
Alexander Duyck
92d947b774 igbvf: resolve "frees DMA memory with different size" warnings
This change resolves some warnings seen with DMA debugging enabled in which
we were mapping skb->data with size + NET_IP_ALIGN and unmapping it with
just size.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 09:47:05 -07:00
Alexander Duyck
a0c98605d7 igb: initialize mailbox function pointers prior to phy init
The igb driver is currently initializing the mailbox function pointers
after the phy.  This causes issues as the phy init will return from the
function early if there is no phy present.

To resolve this I have moved the function pointer init to a location prior
to the phy initialization so that serdes based adapters can also make use
of SR-IOV.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 09:47:03 -07:00
Alexander Duyck
0cce119aa9 igb: cleanup flow control configuration to make requested/current more clear
This patch cleans up the flow control configuration for igb to make it a
bit more readable in regards to what the requested and current modes are.
This should help with the maintainability of the current igb driver in
regards to flow control.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 09:47:02 -07:00
Alexander Duyck
2d94d8ab76 igb: use buffer_info->dma instead of shinfo->nr_frags to determine unmap
This change makes it so that we use buffer_info->dma instead of
shinfo->nr_frags to determine if we need to unmap a received skb.  By doing
this we can avoid a cache miss on small packets since the buffer_info
structure should already be prefetched.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 09:47:01 -07:00
Alexander Duyck
4703bf73bd igb: add support for 82576 mezzanine card
This patch adds support for a new 82576 mezzanine adapter.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 09:46:59 -07:00
Alexander Duyck
08a72b5dce igb: remove unused switch statement from igb_set_wol
There is a switch statement in igb_set_wol that defaults to break and
doesn't actually do anything.  As such it should be removed.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 09:46:56 -07:00
Alexander Duyck
5ac1665906 igb: cleanup receive address register initialization
This update cleans up the receive address register initialization.  The
main purpose of this is to clean out some redundancy that was introduced
due to having multiple ways of setting the receive address registers.
Instead of having a specialized function to set one register and one to set
all of them it makes more sense to just go through the list calling the
function that is needed to set the individual registers.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 09:46:53 -07:00
Alexander Duyck
28fc06f58b igb: move all multicast addresses into multicast table array
This patch moves all of the multicast addresses out of the free Receive
address registers and instead programs them all into the multicast table
array.  As a result the multicast filtering may not be as precise, but it
also greatly reduces the overhead for multicast addresses.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 09:46:52 -07:00
Alexander Duyck
009bc06e53 igb: add completion timeout workaround for 82575/82576
The 82575 and 82576 hardware can both experience data corruption issues if
a pci-e completion arrives after the timeout value.  In order to avoid this
we need to increase the timeout value while pci-e master is disabled.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 09:46:49 -07:00
Alexander Duyck
12645a196e igb: do not overwrite EEPROM LED settings
The igb driver was overwritting the LED settings that were configured via
EEPROM.  This is not correct behavior as the LED settings are meant to be
configured by EEPROM and not changed.  This change removes the code that
was setting the LED behavior on the interface.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 09:46:46 -07:00
Alexander Duyck
f3e7841ca3 igb: change configure_pcs_link to void since it always returns 0
Since igb_configure_pcs_link always returns 0 there isn't really much point
to checking for the result so it is best just to change this to a void so
we can properly ignore the return result.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 09:46:44 -07:00
Alexander Duyck
099e1cb700 igb: make serdes power down available for 82575 in addition to 82576 parts
There was a serdes power down workaround that was originally added for
82576 fiber.  However it has also been found that this workaround is needed
for serdes connections as well.  In addition it is also needed for 82575
serdes so we we need to remove the checks restricting it to 82576.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 09:46:42 -07:00
Alexander Duyck
dcc3ae9a52 igb: remove media type fiber as it is misleading
The current igb driver only supports copper and serdes.  The fiber media
type is a holdover from earlier NICs as the current nics supported by igb
all use serdes when communicating over a fiber connection.  As a result we
can remove media type fiber without losing any functionality.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-26 09:46:41 -07:00
Takashi Iwai
57e4a5c4f8 Merge branch 'fix/usb-audio' into for-linus
* fix/usb-audio:
  ALSA: usb-audio - Volume control quirk for QuickCam E 3500
2009-07-26 11:07:08 +02:00
Takashi Iwai
b88158846f Merge branch 'fix/pcm-hwptr' into for-linus
* fix/pcm-hwptr:
  ALSA: pcm - Fix hwptr buffer-size overlap bug
  ALSA: pcm - Fix warnings in debug loggings
  ALSA: pcm - Add logging of hwptr updates and interrupt updates
  ALSA: pcm - Fix regressions with VMware
2009-07-26 11:07:07 +02:00
Takashi Iwai
de5d674c02 Merge branch 'fix/hda' into for-linus
* fix/hda:
  ALSA: hda - Fix mute control with some ALC262 models
  ALSA: hda - Restore GPIO1 properly at resume with AD1984A
  ALSA: hda - Use snprintf() to be safer
2009-07-26 11:07:06 +02:00
Takashi Iwai
f35e2965b2 Merge branch 'fix/ctxfi' into for-linus
* fix/ctxfi:
  ALSA: ctxfi - Fix uninitialized error checks
2009-07-26 11:07:05 +02:00
Takashi Iwai
29769d533b Merge branch 'fix/caiaq' into for-linus
* fix/caiaq:
  ALSA: snd_usb_caiaq: add support for Audio2DJ
2009-07-26 11:07:04 +02:00