summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-10-17skge: internal statsStephen Hemminger
Use internal stats structure Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-17skge: XM PHY handling fixesStephen Hemminger
Change how PHY is managed on SysKonnect fibre based boards. Poll for PHY coming up 1 per second, but use interrupt to detect loss. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-17skge: changing MTU while running causes problemsStephen Hemminger
Rather than bring network down/up when changing MTU, only need to impact receiver. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-17skge: fix ram buffer size calculationStephen Hemminger
This fixes problems with transmit hangs on older fiber based SysKonnect boards. Adjust ram buffer sizing calculation to make it correct on all boards and make it like the code in sky2 driver. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-17gianfar: Fix compile regression caused by 09f75cd7Li Yang
Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-17net: Fix new EMAC driver for NAPI changesBenjamin Herrenschmidt
net: Fix new EMAC driver for NAPI changes This fixes the new EMAC driver for the NAPI updates. The previous patch by Roland Dreier (already applied) to do that doesn't actually work. This applies on top of it makes it work on my test Ebony machine. This patch depends on "net: Add __napi_sycnhronize() to sync with napi poll" posted previously. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-17bonding: two small fixes for IPoIB supportJay Vosburgh
Two small fixes to IPoIB support for bonding: 1- copy header_ops from slave to bonding for IPoIB slaves 2- move release and destroy logic to UNREGISTER from GOING_DOWN notifier to avoid double release Set bonding to version 3.2.1. Signed-off-by: Moni Shoua <monis at voltaire.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-17e1000e: don't poke PHY registers to retreive link statusAuke Kok
Apparently poking the link status registers when autonegotiation is running on the PHY might botch the PHY link on 80003es2lan devices. While this is a very rare condition we can completely avoid it alltogether by just using the MAC link bits to provide the proper information to ethtool. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-17e1000e: fix error checksAdrian Bunk
Spotted by the Coverity checker. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-17e1000e: Fix debug printk macroAuke Kok
Spotted by Joe Perches. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-17tokenring/3c359.c: fixed array index problemMarcus Meissner
The xl_laa array is just 6 bytes long, so we should substract 10 from the index, like is also done some lines above already. Signed-Off-By: Marcus Meissner <meissner@suse.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-17[netdrvr] forcedeth: remove in-driver copy of net_device_statsJeff Garzik
A copy of struct net_device_stats now lives in struct net_device, making in-driver copies a waste of memory. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2007-10-17[netdrvr] forcedeth: improved probe info; dev_printk() cleanupsJeff Garzik
main change: * greatly improve per-NIC probe diagnostic output. Similar to other net drivers, print out MAC address, PHY info, and various hardware and software flags that may be relevant. other changes: * similar to other net drivers, only print the initial version message when we have found at least one board. * don't bother to print error message when pci_enable_device() fails, it will do so for us. * use dev_printk() rather than printk() in nv_probe(). This gives use a standardized output similar to the rest of the kernel, and eliminates the need to manually print out PCI bus id. * use DRV_NAME constant where appropriate * clean struct pci_driver indentation Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2007-10-17forcedeth: fix NAPI rx poll functionIngo Molnar
fix the forcedeth NAPI poll function to not emit this warning: [ 186.635916] WARNING: at net/core/dev.c:2166 net_rx_action() [ 186.641351] [<c060d9f5>] net_rx_action+0x145/0x1b0 [ 186.646191] [<c011d752>] __do_softirq+0x42/0x90 [ 186.650784] [<c011d7c6>] do_softirq+0x26/0x30 [ 186.655202] [<c011db48>] local_bh_enable+0x48/0xa0 [ 186.660055] [<c06023e0>] lock_sock_nested+0xa0/0xc0 [ 186.664995] [<c065da16>] tcp_recvmsg+0x16/0xbc0 [ 186.669588] [<c013e94b>] __generic_file_aio_write_nolock+0x27b/0x520 [ 186.676001] [<c0601d75>] sock_common_recvmsg+0x45/0x70 [ 186.681202] [<c05ff5df>] sock_aio_read+0x11f/0x140 [ 186.686054] [<c015c086>] do_sync_read+0xc6/0x110 [ 186.690735] [<c012b9b0>] autoremove_wake_function+0x0/0x40 [ 186.696280] [<c060dcfc>] net_tx_action+0x3c/0xe0 [ 186.700961] [<c015c9c2>] vfs_read+0x132/0x140 [ 186.705378] [<c015cd41>] sys_read+0x41/0x70 [ 186.709625] [<c0102b66>] sysenter_past_esp+0x5f/0x89 [ 186.714651] ======================= Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2007-10-16Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6Linus Torvalds
* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6: (33 commits) amd74xx: remove /proc/ide/amd74xx amd74xx/via82cxxx: don't initialize drive->dn sis5513: remove /proc/ide/sis ide: remove CONFIG_IDEDMA_ONLYDISK ide: add "hdx=nodma" kernel parameter ide: remove hwif->autodma and drive->autodma ide: remove "idex=dma" kernel parameter ide: remove CONFIG_BLK_DEV_IDEDMA_FORCED ide: use PCI_VDEVICE() macro sis5513: clear prefetch and postwrite for ATAPI devices it8213/piix/slc90e66: "de-couple" PIO and UDMA modes ide: unexport noautodma ide: unexport ide_tune_dma ide: remove ->ide_dma_check (take 2) ide-pmac: add PIO autotune fallback to ->ide_dma_check ide-cris: add PIO autotune fallback to ->ide_dma_check sl82c105: add PIO autotune fallback to ->ide_dma_check cs5530/sc1200: add PIO autotune fallback to ->ide_dma_check ide: remove ide_use_fast_pio() ide: remove drive->init_speed zeroing ...
2007-10-16fix cirrusfb breakageAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-16Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux: kills warnings in Improve SELinux performance when AVC misses SELinux: improve performance when AVC misses. SELinux: policy selectable handling of unknown classes and perms SELinux: Improve read/write performance SELinux: tune avtab to reduce memory usage
2007-10-16Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (25 commits) firewire: fw-cdev: reorder wakeup vs. spinlock firewire: in-code doc updates. firewire: a header cleanup firewire: adopt read cycle timer ABI from raw1394 firewire: fw-ohci: check for misconfigured bus (phyID == 63) firewire: fw-ohci: missing dma_unmap_single firewire: fw-ohci: log posted write errors firewire: fw-ohci: reorder includes firewire: fw-ohci: fix includes firewire: fw-ohci: enforce read order for selfID generation firewire: fw-sbp2: use an own workqueue (fix system responsiveness) firewire: fw-sbp2: expose module parameter for workarounds firewire: fw-sbp2: add support for multiple logical units per target firewire: fw-sbp2: always enable IRQs before calling command ORB callback firewire: fw-core: local variable shadows a global one firewire: optimize fw_core_add_address_handler ieee1394: ieee1394_core.c: use DEFINE_SPINLOCK for spinlock definition ieee1394: csr1212: proper refcounting ieee1394: nodemgr: fix leak of struct csr1212_keyval ieee1394: pcilynx: I2C cleanups ...
2007-10-16Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/sam/kbuildLinus Torvalds
* ssh://master.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: x86: fix boot error introduced by kbuild
2007-10-16Merge branch 'release' of ↵Linus Torvalds
ssh://master.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of ssh://master.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix build for CONFIG_SMP=n
2007-10-16SELinux: kills warnings in Improve SELinux performance when AVC missesKaiGai Kohei
This patch kills ugly warnings when the "Improve SELinux performance when ACV misses" patch. Signed-off-by: KaiGai Kohei <kaigai@ak.jp.nec.com> Signed-off-by: James Morris <jmorris@namei.org>
2007-10-16SELinux: improve performance when AVC misses.KaiGai Kohei
* We add ebitmap_for_each_positive_bit() which enables to walk on any positive bit on the given ebitmap, to improve its performance using common bit-operations defined in linux/bitops.h. In the previous version, this logic was implemented using a combination of ebitmap_for_each_bit() and ebitmap_node_get_bit(), but is was worse in performance aspect. This logic is most frequestly used to compute a new AVC entry, so this patch can improve SELinux performance when AVC misses are happen. * struct ebitmap_node is redefined as an array of "unsigned long", to get suitable for using find_next_bit() which is fasted than iteration of shift and logical operation, and to maximize memory usage allocated from general purpose slab. * Any ebitmap_for_each_bit() are repleced by the new implementation in ss/service.c and ss/mls.c. Some of related implementation are changed, however, there is no incompatibility with the previous version. * The width of any new line are less or equal than 80-chars. The following benchmark shows the effect of this patch, when we access many files which have different security context one after another. The number is more than /selinux/avc/cache_threshold, so any access always causes AVC misses. selinux-2.6 selinux-2.6-ebitmap AVG: 22.763 [s] 8.750 [s] STD: 0.265 0.019 ------------------------------------------ 1st: 22.558 [s] 8.786 [s] 2nd: 22.458 [s] 8.750 [s] 3rd: 22.478 [s] 8.754 [s] 4th: 22.724 [s] 8.745 [s] 5th: 22.918 [s] 8.748 [s] 6th: 22.905 [s] 8.764 [s] 7th: 23.238 [s] 8.726 [s] 8th: 22.822 [s] 8.729 [s] Signed-off-by: KaiGai Kohei <kaigai@ak.jp.nec.com> Acked-by: Stephen Smalley <sds@tycho.nsa.gov> Signed-off-by: James Morris <jmorris@namei.org>
2007-10-16SELinux: policy selectable handling of unknown classes and permsEric Paris
Allow policy to select, in much the same way as it selects MLS support, how the kernel should handle access decisions which contain either unknown classes or unknown permissions in known classes. The three choices for the policy flags are 0 - Deny unknown security access. (default) 2 - reject loading policy if it does not contain all definitions 4 - allow unknown security access The policy's choice is exported through 2 booleans in selinuxfs. /selinux/deny_unknown and /selinux/reject_unknown. Signed-off-by: Eric Paris <eparis@redhat.com> Acked-by: Stephen Smalley <sds@tycho.nsa.gov> Signed-off-by: James Morris <jmorris@namei.org>
2007-10-16SELinux: Improve read/write performanceYuichi Nakamura
It reduces the selinux overhead on read/write by only revalidating permissions in selinux_file_permission if the task or inode labels have changed or the policy has changed since the open-time check. A new LSM hook, security_dentry_open, is added to capture the necessary state at open time to allow this optimization. (see http://marc.info/?l=selinux&m=118972995207740&w=2) Signed-off-by: Yuichi Nakamura<ynakam@hitachisoft.jp> Acked-by: Stephen Smalley <sds@tycho.nsa.gov> Signed-off-by: James Morris <jmorris@namei.org>
2007-10-16SELinux: tune avtab to reduce memory usageYuichi Nakamura
This patch reduces memory usage of SELinux by tuning avtab. Number of hash slots in avtab was 32768. Unused slots used memory when number of rules is fewer. This patch decides number of hash slots dynamically based on number of rules. (chain length)^2 is also printed out in avtab_hash_eval to see standard deviation of avtab hash table. Signed-off-by: Yuichi Nakamura<ynakam@hitachisoft.jp> Acked-by: Stephen Smalley <sds@tycho.nsa.gov> Signed-off-by: James Morris <jmorris@namei.org>
2007-10-16firewire: fw-cdev: reorder wakeup vs. spinlockJay Fenlason
Signed-off-by: Jay Fenlason <fenlason@redhat.com> Prompted by https://bugzilla.redhat.com/show_bug.cgi?id=323411 Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16firewire: in-code doc updates.Yann Dirson
Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (update)
2007-10-16firewire: a header cleanupStefan Richter
fw_node() is not used (and not useful) outside fw-topology.c. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16firewire: adopt read cycle timer ABI from raw1394Stefan Richter
This duplicates the read cycle timer feature of raw1394 (added in Linux 2.6.21) in firewire-core's userspace ABI. The argument to the ioctl is reordered though to ensure 32/64 bit compatibility. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Kristian Høgsberg <krh@redhat.com>
2007-10-16firewire: fw-ohci: check for misconfigured bus (phyID == 63)Stefan Richter
Check NodeID.nodeNumber as per OHCI 1.1 clause 7.2.3.2. See also IEEE 1394a table 5B-1. Also, demote the "node ID not valid" message from error to notification as it is not an error condition. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16firewire: fw-ohci: missing dma_unmap_singleStefan Richter
at_context_queue_packet() didn't clean up in an early exit path. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Kristian Høgsberg <krh@redhat.com>
2007-10-16firewire: fw-ohci: log posted write errorsStefan Richter
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16firewire: fw-ohci: reorder includesStefan Richter
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16firewire: fw-ohci: fix includesStefan Richter
Add used includes, remove unused includes. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16firewire: fw-ohci: enforce read order for selfID generationStefan Richter
It seems unlikely, but access to self_id_cpu[0] could at least in theory be deferred until after the loop over self_id_cpu[1..n] or even after the subsequent reg_read. Enforce the desired order by a read barrier. Also prevent the reg_read from being reordered relative to the for loop. This isn't necessary if the loop's conditional printk counts as an implicit barrier, but better make it explicit. (self_id_cpu[] is a coherent DMA buffer.) Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16firewire: fw-sbp2: use an own workqueue (fix system responsiveness)Stefan Richter
Firewire-sbp2 did very uncooperative things in the kernel's shared workqueue: Sleeping until reception of management status from the target for up to 2 seconds, and performing SCSI inquiry and all of the setup of SCSI command set drivers via scsi_add_device. If there were transient or permanent error conditions, this caused long blockage of the kernel's events process, noticeable e.g. by blocked keyboard input. We now allocate a workqueue process exclusive to fw-sbp2. As a side effect, this also increases parallelism of fw-sbp2's login and reconnect work versus fw-core's device discovery and device update work which is performed in the shared workqueue. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Kristian Høgsberg <krh@redhat.com>
2007-10-16firewire: fw-sbp2: expose module parameter for workaroundsStefan Richter
On rare occasions, the ability to set one of the workaround flags at runtime may save the day. People who experience I/O errors with firewire-sbp2 while the old sbp2 driver worked for them should try workarounds=1 and report to the devel mailinglist whether that improves things. Firewire-sbp2 defaults to the SCSI stack's maximum transfer size per command, while sbp2 limits them to 128 kBytes. Flag 1 accomplishes just that. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16firewire: fw-sbp2: add support for multiple logical units per targetStefan Richter
Fixes "New firewire stack only recognizing half of a chain of drives", https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=242254 Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16firewire: fw-sbp2: always enable IRQs before calling command ORB callbackStefan Richter
On IOMMU-less noncoherent architectures, orb->callback will memcpy the whole SCSI command buffer for READ-like SCSI commands. It is therefore friendlier to enable IRQs before the call, like before patch "Add ref-counting for sbp2 orbs". Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Acked-by: Kristian Høgsberg <krh@redhat.com>
2007-10-16firewire: fw-core: local variable shadows a global oneStefan Richter
Sparse warned about it although it was apparently harmless: drivers/firewire/fw-cdev.c:624:23: warning: symbol 'interrupt' shadows an earlier one include/asm/hw_irq.h:29:13: originally declared here Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16firewire: optimize fw_core_add_address_handlerStefan Richter
Potentially avoids unnecessary loop runs. Guarantee quadlet-aligned starts of address regions. Document the return values. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16ieee1394: ieee1394_core.c: use DEFINE_SPINLOCK for spinlock definitionMatthias Kaehlcke
drivers/ieee1394/ieee1394_core.c: Define spinlock using DEFINE_SPINLOCK instead of assignment to SPIN_LOCK_UNLOCKED Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16ieee1394: csr1212: proper refcountingStefan Richter
At least since nodemgr got rid of coarse global locking, accesses to struct csr1212_keyval's reference counter should be atomic and coupled with proper barriers. Also, calls to csr1212_keep_keyval(kv) should occur before kv is being used. (We probably should convert refcnt to struct kref, but how to keep csr1212_destroy_keyval's implementation non-recursively then?) Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16ieee1394: nodemgr: fix leak of struct csr1212_keyvalStefan Richter
csr1212_keep_keyval(kv) in nodemgr_process_root_directory was unbalanced if ne->vendor_name_kv already exists. This happens for example if eth1394 or raw1394 modify the local config ROM and it is parsed again. As a bonus, the attempt to add the vendor_name_kv sysfs attribute when it already exists is now fixed for good. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16ieee1394: pcilynx: I2C cleanupsJean Delvare
* Delete optional and empty i2c client_register and client_unregister callbacks. * Use the proper i2c adapter ID. * Don't use a template to initialize the i2c_adapter structure, it's inefficient. * Update a misleading comment on why we use i2c_transfer rather than higher level i2c functions. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16ieee1394: Fix kthread stopping in nodemgr_host_threadSatyam Sharma
The nodemgr host thread can exit on its own even when kthread_should_stop is not true, on receiving a signal (might never happen in practice, as it ignores signals). But considering kthread_stop() must not be mixed with kthreads that can exit on their own, I think changing the code like this is clearer. This change means the thread can cut its sleep short when receive a signal but looking at the code around, that sounds okay (and again, it might never actually recieve a signal in practice). Signed-off-by: Satyam Sharma <satyam@infradead.org> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16ieee1394: sbp2: fix unsafe iteration over list of devicesStefan Richter
sbp2_host_reset and sbp2_handle_status_write are not serialized against sbp2_alloc_device and sbp2_remove_device. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16ieee1394: pcilynx: superfluous local variablesStefan Richter
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16ieee1394: eth1394: fix lock imbalanceStefan Richter
bad_proto can be reached from points which did not take priv->lock. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-10-16ieee1394: eth1394: superfluous local variableStefan Richter
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>