aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAge
* stmmac: update normal descriptor structure (v2)Giuseppe CAVALLARO2011-10-27
| | | | | | | | | | | | | | | | | | | | | | | | | This patch updates the normal descriptor structure to work fine on new GMAC Synopsys chips. Normal descriptors were designed on the old MAC10/100 databook 1.91 where some bits were reserved: for example the tx checksum insertion and rx checksum offload. The patch maintains the back-compatibility with old MAC devices (tested on STx7109 MAC10/100) and adds new fields that actually new GMAC devices can use. For example, STx7109 (MAC10/100) will pass from the platform tx_coe = 0, enh_desc = 0, has_gmac = 0. A platform like Loongson1B (GMAC) will pass: tx_coe = 1, enh_desc = 0, has_gmac = 1. Thanks to Kelvin, he enhanced the normal descriptors for GMAC (on MIPS Loongson1B platform). Signed-off-by: Kelvin Cheung <keguang.zhang@gmail.com> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* stmmac: fix NULL pointer dereference in capabilities fixup (v2)Angus Clark2011-10-27
| | | | | | Signed-off-by: Angus Clark <angus.clark@st.com> Acked-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* stmmac: fix a bug while checking the HW cap reg (v2)Giuseppe CAVALLARO2011-10-27
| | | | | | | | The patch fixes a bug while checking the HW cap reg on old MAC10/100 where this feature is not available. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Changing MAC Address of a VF was broken.Somnath Kotur2011-10-27
| | | | | | | | | | | Allow for MAC Address change of VF(SR-IOV case) on the fly- First add and then delete MAC Address to allow for 'out of pool' errors. When MAC Addr configured from a VM, the MAC on the NIC will aleady have the supplied MAC,so just copy the supplied MAC to the netdev structure before returning success to the stack Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Refactored be_cmds.c file.Somnath Kotur2011-10-27
| | | | | | | | Moved the .sge. field's population inside be_cmd_hdr_prepare. Populating wrb->tag0 and tag1 inside be_cmd_hdr_prepare Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2x: update driver version to 1.70.30-0Dmitry Kravkov2011-10-27
| | | | | | Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2x: use FW 7.0.29.0Dmitry Kravkov2011-10-27
| | | | | | | | | | | | | | | | | The FW includes the following fixes: 1. (iSCSI) Arrival of un-solicited ASYNC message causes firmware to abort the connection with RST. 2. (FCoE) There is a probability that truncated FCoE packet on RX path won't get detected which might lead to FW assert. 3. (iSCSI) Arrival of target-initiated NOP-IN during intense ISCSI traffic might lead to FW assert. 4. (iSCSI) Chip hangs when in case of retransmission not aligned to 4-bytes from the beginning of iSCSI PDU. 5. (FCoE) Arrival of packets beyond task IO size can lead to crash. Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2x: Enable changing speed when port type is PORT_DAYaniv Rosner2011-10-27
| | | | | | Signed-off-by: Yaniv Rosner <yanivr@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2x: Fix 54618se LED behaviorYaniv Rosner2011-10-27
| | | | | | Signed-off-by: Yaniv Rosner <yanivr@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2x: Fix RX/TX problem caused by the MAC layerYaniv Rosner2011-10-27
| | | | | | | | | | This patch fixes a problem in which the host stops receiving data after restarting the interface. This issue is caused by combination of incorrect data path tap closure, along with missing MAC reset. Signed-off-by: Yaniv Rosner <yanivr@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2x: Add link retry to 578xx-KRYaniv Rosner2011-10-27
| | | | | | | | | This fix solves a problem of no link on 578xx-KR by retrying to link up to four timer using the periodic function. Signed-off-by: Yaniv Rosner <yanivr@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2x: Fix LED blink rate for 578xxYaniv Rosner2011-10-27
| | | | | | | | Adjust blink rate on 578xx to fit its clock rate. Signed-off-by: Yaniv Rosner <yanivr@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'for-linus' of git://neil.brown.name/mdLinus Torvalds2011-10-26
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of git://neil.brown.name/md: (34 commits) md: Fix some bugs in recovery_disabled handling. md/raid5: fix bug that could result in reads from a failed device. lib/raid6: Fix filename emitted in generated code md.c: trivial comment fix MD: Allow restarting an interrupted incremental recovery. md: clear In_sync bit on devices added to an active array. md: add proper write-congestion reporting to RAID1 and RAID10. md: rename "mdk_personality" to "md_personality" md/bitmap remove fault injection options. md/raid5: typedef removal: raid5_conf_t -> struct r5conf md/raid1: typedef removal: conf_t -> struct r1conf md/raid10: typedef removal: conf_t -> struct r10conf md/raid0: typedef removal: raid0_conf_t -> struct r0conf md/multipath: typedef removal: multipath_conf_t -> struct mpconf md/linear: typedef removal: linear_conf_t -> struct linear_conf md/faulty: remove typedef: conf_t -> struct faulty_conf md/linear: remove typedefs: dev_info_t -> struct dev_info md: remove typedefs: mirror_info_t -> struct mirror_info md: remove typedefs: r10bio_t -> struct r10bio and r1bio_t -> struct r1bio md: remove typedefs: mdk_thread_t -> struct md_thread ...
| * md: Fix some bugs in recovery_disabled handling.NeilBrown2011-10-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 3.0 we changed the way recovery_disabled was handle so that instead of testing against zero, we test an mddev-> value against a conf-> value. Two problems: 1/ one place in raid1 was missed and still sets to '1'. 2/ We didn't explicitly set the conf-> value at array creation time. It defaulted to '0' just like the mddev value does so they could appear equal and thus disable recovery. This did not affect normal 'md' as it calls bind_rdev_to_array which changes the mddev value. However the dmraid interface doesn't call this and so doesn't change ->recovery_disabled; so at array start all recovery is incorrectly disabled. So initialise the 'conf' value to one less that the mddev value, so the will only be the same when explicitly set that way. Reported-by: Jonathan Brassow <jbrassow@redhat.com> Signed-off-by: NeilBrown <neilb@suse.de>
| * md/raid5: fix bug that could result in reads from a failed device.NeilBrown2011-10-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug was introduced in 415e72d034c50520ddb7ff79e7d1792c1306f0c9 which was in 2.6.36. There is a small window of time between when a device fails and when it is removed from the array. During this time we might still read from it, but we won't write to it - so it is possible that we could read stale data. We didn't need the test of 'Faulty' before because the test on In_sync is sufficient. Since we started allowing reads from the early part of non-In_sync devices we need a test on Faulty too. This is suitable for any kernel from 2.6.36 onwards, though the patch might need a bit of tweaking in 3.0 and earlier. Cc: stable@kernel.org Signed-off-by: NeilBrown <neilb@suse.de>
| * md.c: trivial comment fixChris Dunlop2011-10-19
| | | | | | | | | | | | | | Trivial comment fix Signed-off-by: Chris Dunlop <chris@onthe.net.au> Signed-off-by: NeilBrown <neilb@suse.de>
| * MD: Allow restarting an interrupted incremental recovery.Andrei Warkentin2011-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | If an incremental recovery was interrupted, a subsequent re-add will result in a full recovery, even though an incremental should be possible (seen with raid1). Solve this problem by not updating the superblock on the recovering device until array is not degraded any longer. Cc: Neil Brown <neilb@suse.de> Signed-off-by: Andrei Warkentin <andreiw@vmware.com> Signed-off-by: NeilBrown <neilb@suse.de>
| * md: clear In_sync bit on devices added to an active array.NeilBrown2011-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we add a device to an active array it can be meaningful to set the 'insync' flag. This indicates that the device is in-sync with the array except for locations recorded in the bitmap. A bitmap-based recovery can then bring it completely in-sync. Internally we move that flag to 'saved_raid_disk' but forgot to clear In_sync like we do in add_new_disk. So clear In_sync after moving its value to saved_raid_disk. Reported-by: Andrei Warkentin <andreiw@vmware.com> Signed-off-by: NeilBrown <neilb@suse.de>
| * md: add proper write-congestion reporting to RAID1 and RAID10.NeilBrown2011-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RAID1 and RAID10 handle write requests by queuing them for handling by a separate thread. This is because when a write-intent-bitmap is active we might need to update the bitmap first, so it is good to queue a lot of writes, then do one big bitmap update for them all. However writeback request devices to appear to be congested after a while so it can make some guesstimate of throughput. The infinite queue defeats that (note that RAID5 has already has a finite queue so it doesn't suffer from this problem). So impose a limit on the number of pending write requests. By default it is 1024 which seems to be generally suitable. Make it configurable via module option just in case someone finds a regression. Signed-off-by: NeilBrown <neilb@suse.de>
| * md: rename "mdk_personality" to "md_personality"NeilBrown2011-10-11
| | | | | | | | | | | | "mdk" doesn't mean anything any more. Signed-off-by: NeilBrown <neilb@suse.de>
| * md/bitmap remove fault injection options.NeilBrown2011-10-11
| | | | | | | | | | | | These are too hard to use to be much more than noise. Signed-off-by: NeilBrown <neilb@suse.de>
| * md/raid5: typedef removal: raid5_conf_t -> struct r5confNeilBrown2011-10-11
| | | | | | | | Signed-off-by: NeilBrown <neilb@suse.de>
| * md/raid1: typedef removal: conf_t -> struct r1confNeilBrown2011-10-11
| | | | | | | | Signed-off-by: NeilBrown <neilb@suse.de>
| * md/raid10: typedef removal: conf_t -> struct r10confNeilBrown2011-10-11
| | | | | | | | Signed-off-by: NeilBrown <neilb@suse.de>
| * md/raid0: typedef removal: raid0_conf_t -> struct r0confNeilBrown2011-10-11
| | | | | | | | Signed-off-by: NeilBrown <neilb@suse.de>
| * md/multipath: typedef removal: multipath_conf_t -> struct mpconfNeilBrown2011-10-11
| | | | | | | | Signed-off-by: NeilBrown <neilb@suse.de>
| * md/linear: typedef removal: linear_conf_t -> struct linear_confNeilBrown2011-10-11
| | | | | | | | Signed-off-by: NeilBrown <neilb@suse.de>
| * md/faulty: remove typedef: conf_t -> struct faulty_confNeilBrown2011-10-11
| | | | | | | | Signed-off-by: NeilBrown <neilb@suse.de>
| * md/linear: remove typedefs: dev_info_t -> struct dev_infoNeilBrown2011-10-11
| | | | | | | | Signed-off-by: NeilBrown <neilb@suse.de>
| * md: remove typedefs: mirror_info_t -> struct mirror_infoNeilBrown2011-10-11
| | | | | | | | Signed-off-by: NeilBrown <neilb@suse.de>
| * md: remove typedefs: r10bio_t -> struct r10bio and r1bio_t -> struct r1bioNeilBrown2011-10-11
| | | | | | | | Signed-off-by: NeilBrown <neilb@suse.de>
| * md: remove typedefs: mdk_thread_t -> struct md_threadNeilBrown2011-10-11
| | | | | | | | Signed-off-by: NeilBrown <neilb@suse.de>
| * md: remove typedefs: mddev_t -> struct mddevNeilBrown2011-10-11
| | | | | | | | | | | | Having mddev_t and 'struct mddev_s' is ugly and not preferred Signed-off-by: NeilBrown <neilb@suse.de>
| * md: removing typedefs: mdk_rdev_t -> struct md_rdevNeilBrown2011-10-11
| | | | | | | | | | | | | | The typedefs are just annoying. 'mdk' probably refers to 'md_k.h' which used to be an include file that defined this thing. Signed-off-by: NeilBrown <neilb@suse.de>
| * md/raid0: convert some printks to pr_debug.NeilBrown2011-10-06
| | | | | | | | | | | | | | | | | | When md assembles a RAID0 array it prints out lots of info which is really just for debugging, so convert that to pr_debug. It also prints out the resulting configuration which could be interesting, so keep that as 'printk' but tidy it up a bit. Signed-off-by: NeilBrown <neilb@suse.de>
| * md: remove PRINTK and dprintk debugging and use pr_debugNeilBrown2011-10-06
| | | | | | | | | | | | Being able to dynamically enable these make them much more useful. Signed-off-by: NeilBrown <neilb@suse.de>
| * md: remove some old DEBUGging code.NeilBrown2011-10-06
| | | | | | | | | | | | | | This code is not really helpful and is hard to maintain, so just discard it. Signed-off-by: NeilBrown <neilb@suse.de>
| * md/raid5: convert to macros into inline functions.NeilBrown2011-10-06
| | | | | | | | | | | | More type-safety. Easier to read. Signed-off-by: NeilBrown <neilb@suse.de>
| * md/raid1/ avoid bio search in end_sync_read()NeilBrown2011-10-06
| | | | | | | | | | | | | | We know which device we just read from so we don't need to search the bios to find out. Just use ->read_disk. Signed-off-by: NeilBrown <neilb@suse.de>
| * md/raid1: factor out common bio handling codeNamhyung Kim2011-10-06
| | | | | | | | | | | | | | | | | | When normal-write and sync-read/write bio completes, we should find out the disk number the bio belongs to. Factor those common code out to a separate function. Signed-off-by: Namhyung Kim <namhyung@gmail.com> Signed-off-by: NeilBrown <neilb@suse.de>
| * md/raid5: remove pointless NULL test.NeilBrown2011-10-06
| | | | | | | | | | | | | | | | In the 'abort' branch of run(), 'conf' cannot possibly be NULL, so remove the test. Reported-by: Zdenek Kabelac <zdenek.kabelac@gmail.com> Signed-off-by: NeilBrown <neilb@suse.de>
| * md/raid1: add documentation to r1_private_data_s data structure.NeilBrown2011-10-06
| | | | | | | | | | | | | | | | There wasn't much and it is inconsistent. Also rearrange fields to keep related fields together. Reported-by: Aapo Laine <aapo.laine@shiftmail.org> Signed-off-by: NeilBrown <neilb@suse.de>
| * md: don't delay reboot by 1 second if no MD devices existDaniel P. Berrange2011-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The md_notify_reboot() method includes a call to mdelay(1000), to deal with "exotic SCSI devices" which are too volatile on reboot. The delay is unconditional. Even if the machine does not have any block devices, let alone MD devices, the kernel shutdown sequence is slowed down. 1 second does not matter much with physical hardware, but with certain virtualization use cases any wasted time in the bootup & shutdown sequence counts for alot. * drivers/md/md.c: md_notify_reboot() - only impose a delay if there was at least one MD device to be stopped during reboot Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Signed-off-by: NeilBrown <neilb@suse.de>
| * trival: md_k.h should be md.h in the beginning comment of file md.hWang Sheng-Hui2011-09-21
| | | | | | | | | | Signed-off-by: Wang Sheng-Hui <shhuiw@gmail.com> Signed-off-by: NeilBrown <neilb@suse.de>
| * md/bitmap: improve handling of 'allclean'.NeilBrown2011-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'allclean' flag is used to cache the fact that there is nothing to do, so we can avoid waking up and scanning the bitmap regularly. The two sorts of pages that might need the attention of the bitmap daemon are BITMAP_PAGE_PENDING and BITMAP_PAGE_NEEDWRITE pages. So make sure allclean reflects exactly when there are none of those. So: set it before scanning all pages with either bit set. clear it whenever these bits are set clear it when we desire not to clear one of these bits. don't clear it any other time. Signed-off-by: NeilBrown <neilb@suse.de>
| * md/bitmap: rename and tidy up BITMAP_PAGE_CLEANNeilBrown2011-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The flag 'BITMAP_PAGE_CLEAN' has a confusing name as it doesn't mean that the page is clean, but rather that there are counters in the page which allow bits in the bitmap to be cleared - i.e. maybe cleaning can happen. So change it to BITMAP_PAGE_PENDING and fix some irregularities: - Don't set it in bitmap_init_from_disk as bitmap_set_memory_bits sets it when needed - in bitmap_daemon_work, if we find a counter that is '1', but need_sync is set, then set BITMAP_PAGE_PENDING again (it was recently cleared) to ensure we don't forget about this bit. Signed-off-by: NeilBrown <neilb@suse.de>
* | Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osdLinus Torvalds2011-10-26
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of git://git.open-osd.org/linux-open-osd: (21 commits) ore: Enable RAID5 mounts exofs: Support for RAID5 read-4-write interface. ore: RAID5 Write ore: RAID5 read fs/Makefile: Always inspect exofs/ ore: Make ore_calc_stripe_info EXPORT_SYMBOL ore/exofs: Change ore_check_io API ore/exofs: Define new ore_verify_layout ore: Support for partial component table ore: Support for short read/writes exofs: Support for short read/writes ore: Remove check for ios->kern_buff in _prepare_for_striping to later ore: cleanup: Embed an ore_striping_info inside ore_io_state ore: Only IO one group at a time (API change) ore/exofs: Change the type of the devices array (API change) ore: Make ore_striping_info and ore_calc_stripe_info public exofs: Remove unused data_map member from exofs_sb_info exofs: Rename struct ore_components comps => oc exofs/super.c: local functions should be static exofs/ore.c: local functions should be static ...
| * | osd: Kconfig remove wrong FIXMEBoaz Harrosh2011-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OSD protocol calls for all kind of security levels that use CRYPTO_HMAC and SH1, but the current code only supports NO_SEC, which does not use any of these. Remove a wrong FIXME that calls for them. Thanks Maxin for reporting on this. Reported-by: "Maxin B. John" <maxin.john@gmail.com> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
* | | Remove stale "depends on NETDEV_1000"in staging driversLinus Torvalds2011-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mark Einon points out that the Kconfig option for NETDEV_1000 no longer exists, and the merge of the staging drivers should have removed that for the et131x driver. And while checking for it, I noticed that slicoss had the same stale dependency. Remove that one too. Reported-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | Merge branch 'timers-core-for-linus' of ↵Linus Torvalds2011-10-26
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits) time, s390: Get rid of compile warning dw_apb_timer: constify clocksource name time: Cleanup old CONFIG_GENERIC_TIME references that snuck in time: Change jiffies_to_clock_t() argument type to unsigned long alarmtimers: Fix error handling clocksource: Make watchdog reset lockless posix-cpu-timers: Cure SMP accounting oddities s390: Use direct ktime path for s390 clockevent device clockevents: Add direct ktime programming function clockevents: Make minimum delay adjustments configurable nohz: Remove "Switched to NOHz mode" debugging messages proc: Consider NO_HZ when printing idle and iowait times nohz: Make idle/iowait counter update conditional nohz: Fix update_ts_time_stat idle accounting cputime: Clean up cputime_to_usecs and usecs_to_cputime macros alarmtimers: Rework RTC device selection using class interface alarmtimers: Add try_to_cancel functionality alarmtimers: Add more refined alarm state tracking alarmtimers: Remove period from alarm structure alarmtimers: Remove interval cap limit hack ...