summaryrefslogtreecommitdiffstats
path: root/drivers (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ppa: switch to ->show_info()Al Viro2013-04-091-26/+10
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* imm: switch to ->show_info()Al Viro2013-04-091-29/+11
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* gdth: switch to ->show_info()Al Viro2013-04-094-170/+52
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch wd33c93 to ->show_info()Al Viro2013-04-096-115/+94
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* wd7000: switch to ->show_info()Al Viro2013-04-091-23/+8
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* sym53c8xx_2: switch to ->show_info()Al Viro2013-04-091-94/+21
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* scsi: saner replacements for ->proc_info()Al Viro2013-04-091-9/+59
| | | | | | | | | | | | | | | | | It's still an obsolete interface; don't introduce those in new drivers. However, it's saner than the ->proc_info() and commits after this one will convert the existing ->proc_info() users to it. The read side is ->show_info(seq_file *, struct Scsi_Host *); use seq_... for generating contents. The write side is ->write_info(struct Scsi_Host *, char *, int). Again, this is driven by procfs needs; we are going to kill ->write_proc() and ->read_proc() and this is the main obstacle to burying that piece of shit. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* i2o: use proc_remove_subtree()Al Viro2013-04-091-50/+1
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* silicom: bury bp_proc.cAl Viro2013-04-093-1330/+0
| | | | | | | | | It's a seriously rotten copy of parts of bp_mod.c; had been ifdefed out all along, lacks a bunch of declarations that would be needed if ifdef had been removed, all stuff in it is duplicated in bp_mod.c anyway... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* silicom: switch to create_proc_data(), clean procfs side of things upAl Viro2013-04-091-820/+379
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* silicom: untangle module_initAl Viro2013-04-091-192/+133
| | | | | | Helper functions are often useful. So are local variables... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* silicom: get_bypass_slave_pfs() open-codes lookup_port()Al Viro2013-04-091-25/+2
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* silicom: unobfuscate get_{status,master}_port_fn()Al Viro2013-04-091-48/+19
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* silicom: helper functions are often useful...Al Viro2013-04-091-280/+43
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* get rid of a bunch of open-coded create_proc_read_entry()Al Viro2013-04-092-9/+5
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* isp1362-hcd: don't reimplement proc_create_data()Al Viro2013-04-091-4/+1
| | | | | | ... especially in a racy way Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* rtl8192u: don't play with reassigning ->proc_fops, just use proc_create()Al Viro2013-04-091-5/+1
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* dgrp procfs fixes, part 6: just use proc_create{,_data}Al Viro2013-04-093-65/+4
| | | | | | | | ->permission() of its own is a rudiment of sysctl imitation; normal procfs logics will do just fine here, no need to mess with ->proc_iops at all. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* dgrp procfs fixes, part 5: per-node filesAl Viro2013-04-096-129/+45
| | | | | | | this "hooks" scheme is pointless - just make file_operations non-static and consolidate initialiazation bits. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* dgrp procfs fixes, part 4: get rid of sysctl-like machineryAl Viro2013-04-092-270/+42
| | | | | | racy and very overblown... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* dgrp procfs fixes, part 3: kill dead codeAl Viro2013-04-091-63/+0
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* dgrp procfs fixes, part 2Al Viro2013-04-091-4/+1
| | | | | | | All table entries either have non-NULL ->proc_file_fops or non-NULL child. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* dgrp procfs fixes, part 1Al Viro2013-04-091-2/+1
| | | | | | | | proc_create() has shat upon fops argument when mode is S_IFDIR. Good thing, too, since fops passed to it is completely useless for any directory. Just use proc_mkdir(), damnit. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* The rtl8192e procfs-based debug interface seems very brokenSean MacLennan2013-04-094-1041/+0
| | | | | | | | | The procfs debug code in rtl_debug.c is, ironically, very buggy: it lacks proper locking. Since the most useful part of the code (the stats) are available through more standard APIs, I think it is best to just delete the whole mess. Signed-off-by: Sean MacLennan <seanm@seanm.ca> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* rtl8192e: switch to proc_create()Al Viro2013-04-091-31/+21
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* rtl8192e: don't use create_proc_entry() for directoriesAl Viro2013-04-091-1/+1
| | | | | | proc_mkdir() is there for purpose... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* mode_t, whack-a-mole at 11...Al Viro2013-04-093-4/+4
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* hysdn: stash pointer to card into proc_dir_entry->dataAl Viro2013-04-092-85/+18
| | | | | | | no need to search later - we know the card when we are creating procfs entries Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* gadgetfs: don't bother with fops->ownerAl Viro2013-04-092-4/+0
| | | | | | | filesystem module as whole is pinned down by its superblock, no need to have opened files on it to add anything to that. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* ccg: don't bother with fops->ownerAl Viro2013-04-091-2/+0
| | | | | | | filesystem module as whole is pinned down by its superblock, no need to have opened files on it to add anything to that. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* lift sb_start_write() out of ->write()Al Viro2013-04-091-0/+2
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* Merge branch 'for-linus' of ↵Linus Torvalds2013-03-271-2/+4
|\ | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs fixes from Al Viro: "stable fodder; assorted deadlock fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: vt: synchronize_rcu() under spinlock is not nice... Nest rename_lock inside vfsmount_lock Don't bother with redoing rw_verify_area() from default_file_splice_from()
| * vt: synchronize_rcu() under spinlock is not nice...Al Viro2013-03-271-2/+4
| | | | | | | | | | | | | | | | | | vcs_poll_data_free() calls unregister_vt_notifier(), which calls atomic_notifier_chain_unregister(), which calls synchronize_rcu(). Do it *after* we'd dropped ->f_lock. Cc: stable@vger.kernel.org (all kernels since 2.6.37) Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds2013-03-2629-104/+195
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull networking fixes from David Miller: 1) Always increment IPV4 ID field in encapsulated GSO packets, even when DF is set. Regression fix from Pravin B Shelar. 2) Fix per-net subsystem initialization in netfilter conntrack, otherwise we may access dynamically allocated memory before it is actually allocated. From Gao Feng. 3) Fix DMA buffer lengths in iwl3945 driver, from Stanislaw Gruszka. 4) Fix race between submission of sync vs async commands in mwifiex driver, from Amitkumar Karwar. 5) Add missing cancel of command timer in mwifiex driver, from Bing Zhao. 6) Missing SKB free in rtlwifi USB driver, from Jussi Kivilinna. 7) Thermal layer tries to use a genetlink multicast string that is longer than the 16 character limit. Fix it and add a BUG check to prevent this kind of thing from happening in the future. From Masatake YAMATO. 8) Fix many bugs in the handling of the teardown of L2TP connections, UDP encapsulation instances, and sockets. From Tom Parkin. 9) Missing socket release in IRDA, from Kees Cook. 10) Fix fec driver modular build, from Fabio Estevam. 11) Erroneous use of kfree() instead of free_netdev() in lantiq_etop, from Wei Yongjun. 12) Fix bugs in handling of queue numbers and steering rules in mlx4 driver, from Moshe Lazer, Hadar Hen Zion, and Or Gerlitz. 13) Some FOO_DIAG_MAX constants were defined off by one, fix from Andrey Vagin. 14) TCP segmentation deferral is unintentionally done too strongly, breaking ACK clocking. Fix from Eric Dumazet. 15) net_enable_timestamp() can legitimately be invoked from software interrupts, and in a way that is safe, so remove the WARN_ON(). Also from Eric Dumazet. 16) Fix use after free in VLANs, from Cong Wang. 17) Fix TCP slow start retransmit storms after SACK reneging, from Yuchung Cheng. 18) Unix socket release should mark a socket dead before NULL'ing out sock->sk, otherwise we can race. Fix from Paul Moore. 19) IPV6 addrconf code can try to free static memory, from Hong Zhiguo. 20) Fix register mis-programming, NULL pointer derefs, and wrong PHC clock frequency in IGB driver. From Lior LevyAlex Williamson, Jiri Benc, and Jeff Kirsher. 21) skb->ip_summed logic in pch_gbe driver is reversed, breaking packet forwarding. Fix from Veaceslav Falico. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (65 commits) ipv4: Fix ip-header identification for gso packets. bonding: remove already created master sysfs link on failure af_unix: dont send SCM_CREDENTIAL when dest socket is NULL pch_gbe: fix ip_summed checksum reporting on rx igb: fix PHC stopping on max freq igb: make sensor info static igb: SR-IOV init reordering igb: Fix null pointer dereference igb: fix i350 anti spoofing config ixgbevf: don't release the soft entries ipv6: fix bad free of addrconf_init_net unix: fix a race condition in unix_release() tcp: undo spurious timeout after SACK reneging bnx2x: fix assignment of signed expression to unsigned variable bridge: fix crash when set mac address of br interface 8021q: fix a potential use-after-free net: remove a WARN_ON() in net_enable_timestamp() tcp: preserve ACK clocking in TSO net: fix *_DIAG_MAX constants net/mlx4_core: Disallow releasing VF QPs which have steering rules ...
| * | bonding: remove already created master sysfs link on failureVeaceslav Falico2013-03-261-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | If slave sysfs symlink failes to be created - we end up without removing the master sysfs symlink. Remove it in case of failure. Signed-off-by: Veaceslav Falico <vfalico@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | Merge branch 'master' of ↵David S. Miller2013-03-265-22/+43
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net Jeff Kirsher says: ==================== This series contains updates to ixgbevf and igb. The ixgbevf calls to pci_disable_msix() and to free the msix_entries memory should not occur if device open fails. Instead they should be called during device driver removal to balance with the call to pci_enable_msix() and the call to allocate msix_entries memory during the device probe and driver load. The remaining 4 of 5 igb patches are simple 1-3 line patches to fix several issues such as possible null pointer dereference, PHC stopping on max frequency, make sensor info static and SR-IOV initialization reordering. The remaining igb patch to fix anti-spoofing config fixes a problem in i350 where anti spoofing configuration was written into a wrong register. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| | * | igb: fix PHC stopping on max freqJiri Benc2013-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For 82576 MAC type, max_adj is reported as 1000000000 ppb. However, if this value is passed to igb_ptp_adjfreq_82576, incvalue overflows out of INCVALUE_82576_MASK, resulting in setting of zero TIMINCA.incvalue, stopping the PHC (instead of going at twice the nominal speed). Fix the advertised max_adj value to the largest value hardware can handle. As there is no min_adj value available (-max_adj is used instead), this will also prevent stopping the clock intentionally. It's probably not a big deal, other igb MAC types don't support stopping the clock, either. Signed-off-by: Jiri Benc <jbenc@redhat.com> Acked-by: Matthew Vick <matthew.vick@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| | * | igb: make sensor info staticStephen Hemminger2013-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Trivial sparse warning. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| | * | igb: SR-IOV init reorderingAlex Williamson2013-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | igb is ineffective at setting a lower total VFs because: int pci_sriov_set_totalvfs(struct pci_dev *dev, u16 numvfs) { ... /* Shouldn't change if VFs already enabled */ if (dev->sriov->ctrl & PCI_SRIOV_CTRL_VFE) return -EBUSY; Swap init ordering. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Acked-by: Greg Rose <gregory.v.rose@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| | * | igb: Fix null pointer dereferenceAlex Williamson2013-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The max_vfs= option has always been self limiting to the number of VFs supported by the device. fa44f2f1 added SR-IOV configuration via sysfs, but in the process broke this self correction factor. The failing path is: igb_probe igb_sw_init if (max_vfs > 7) { adapter->vfs_allocated_count = 7; ... igb_probe_vfs igb_enable_sriov(, max_vfs) if (num_vfs > 7) { err = -EPERM; ... This leaves vfs_allocated_count = 7 and vf_data = NULL, so we bomb out when igb_probe finally calls igb_reset. It seems like a really bad idea, and somewhat pointless, to set vfs_allocated_count separate from vf_data, but limiting max_vfs is enough to avoid the null pointer. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Acked-by: Greg Rose <gregory.v.rose@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| | * | igb: fix i350 anti spoofing configLior Levy2013-03-261-14/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a problem in i350 where anti spoofing configuration was written into a wrong register. Signed-off-by: Lior Levy <lior.levy@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| | * | ixgbevf: don't release the soft entriesxunleer2013-03-261-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the ixgbevf driver is opened the request to allocate MSIX irq vectors may fail. In that case the driver will call ixgbevf_down() which will call ixgbevf_irq_disable() to clear the HW interrupt registers and calls synchronize_irq() using the msix_entries pointer in the adapter structure. However, when the function to request the MSIX irq vectors failed it had already freed the msix_entries which causes an OOPs from using the NULL pointer in synchronize_irq(). The calls to pci_disable_msix() and to free the msix_entries memory should not occur if device open fails. Instead they should be called during device driver removal to balance with the call to pci_enable_msix() and the call to allocate msix_entries memory during the device probe and driver load. Signed-off-by: Li Xun <xunleer.li@huawei.com> Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * | | pch_gbe: fix ip_summed checksum reporting on rxVeaceslav Falico2013-03-261-2/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | skb->ip_summed should be CHECKSUM_UNNECESSARY when the driver reports that checksums were correct and CHECKSUM_NONE in any other case. They're currently placed vice versa, which breaks the forwarding scenario. Fix it by placing them as described above. Signed-off-by: Veaceslav Falico <vfalico@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bnx2x: fix assignment of signed expression to unsigned variableKumar Amit Mehta2013-03-241-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | fix for incorrect assignment of signed expression to unsigned variable. Signed-off-by: Kumar Amit Mehta <gmate.amit@gmail.com> Acked-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net/mlx4_core: Disallow releasing VF QPs which have steering rulesHadar Hen Zion2013-03-211-8/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VF QPs must not be released when they have steering rules attached to them. For that end, introduce a reference count field to the QP object in the SRIOV resource tracker which is incremented/decremented when steering rules are attached/detached to it. QPs can be released by VF only when their ref count is zero. Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net/mlx4_core: Always use 64 bit resource ID when doing lookupHadar Hen Zion2013-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | One of the resource tracker code paths was wrongly using int and not u64 for resource tracking IDs, fix it. Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net/mlx4_en: Remove ethtool flow steering rules before releasing QPsHadar Hen Zion2013-03-211-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the ethtool flow steering rules cleanup to be carried out before releasing the RX QPs. Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net/mlx4_core: Fix wrong order of flow steering resources removalHadar Hen Zion2013-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | On the resource tracker cleanup flow, the DMFS rules must be deleted before we destroy the QPs, else the HW may attempt doing packet steering to non existent QPs. Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net/mlx4_core: Fix wrong mask applied on EQ numbers in the wrapperMoshe Lazer2013-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the mask is wrongly set in the MAP_EQ wrapper, fix that. Without the fix any EQ number above 511 is mapped to one below 511. Signed-off-by: Moshe Lazer <moshel@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: ethernet: cpsw: fix erroneous condition in error checkLothar Waßmann2013-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The error check in cpsw_probe_dt() has an '&&' where an '||' is meant to be. This causes a NULL pointer dereference when incomplet DT data is passed to the driver ('phy_id' property for cpsw_emac1 missing). Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: David S. Miller <davem@davemloft.net>