aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-12-03pata_legacy: add pointers to QDI65x0 documentationBartlomiej Zolnierkiewicz1-1/+8
Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03pata_legacy: fix access to control register for QDI6580Bartlomiej Zolnierkiewicz1-2/+2
We need to mask out the port offset from the port number cached in ld_qdi->timing. Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03pata_legacy: fix QDI6580DP supportBartlomiej Zolnierkiewicz1-0/+1
Dual port QDI6580 has shared PIO timings for master/slave devices so it needs to use custom ->qc_issue method. Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03pata_it8213: fix it8213_pre_reset() documentationBartlomiej Zolnierkiewicz1-1/+1
Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03pata_it8213: fix wrong MWDMA timings being programmedBartlomiej Zolnierkiewicz1-1/+1
Clear old MWDMA timings before programming new ones (IT8213 is a single port host so there is no need to check ap->port_no). This change should be safe as this is how we have been doing things in IDE it8213 host driver for years. Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03pata_it8213: fix PIO2 underclockingBartlomiej Zolnierkiewicz1-7/+6
[ port of Sergei's fixes for pata_efar from commit 5f33b3b ] Fix the PIO mode 2 using mode 0 timings -- this driver should enable the fast timing bank starting with PIO2, just like the PIIX/ICH drivers do. Also, fix/rephrase some comments while at it. Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03pata_it8213: fix wrong PIO timings being programmedBartlomiej Zolnierkiewicz1-2/+2
* do not clear PIO timings for master when programming slave * program new PIO timings in the correct register nibble Both changes should be safe as this is how we have been doing things in IDE it8213 host driver for years. Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03pata_it8213: fix UDMA handlingBartlomiej Zolnierkiewicz1-2/+2
Driver should program the cycle timing not the mode number (doing the latter results in wrong timings being used). There shouldn't be any problems with it as IDE it8213 host driver has been doing it this way for years. Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03pata_hpt3x3: Power Management fixBartlomiej Zolnierkiewicz1-1/+10
Fix ->resume method to re-enable & re-init PCI device properly before doing chipset specific setup. Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03pata_cs5520: remove dead VDMA supportBartlomiej Zolnierkiewicz1-38/+1
It has been dead for the last three years (== since the initial driver merge) and probability that it will ever get fixed is quite low. Since there is no reason to keep this dead code around any longer just remove it (it can still be retrieved from the git history if necessary). Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03pata_efar: fix wrong MWDMA timings being programmedBartlomiej Zolnierkiewicz1-1/+1
Do not clear MWDMA timings for device on the other port when programming slave device. This change should be safe as this is how we have been doing things in IDE slc90e66 host driver for years. Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03pata_efar: fix wrong PIO timings being programmedBartlomiej Zolnierkiewicz1-2/+3
* do not clear PIO timings for master when programming slave * do not clear PIO timings for device on the other port when programming slave device Both changes should be safe as this is how we have been doing things in IDE slc90e66 host driver for years. Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03ata_piix: fix MWDMA handling on PIIX3Bartlomiej Zolnierkiewicz1-3/+3
Fix erroneous check for ap->udma_mask in do_pata_set_dmamode() resulting in controller not being programmed properly for MWDMA. Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03be2net: Support for WoL using magic packet after suspend.Ajit Khaparde6-0/+128
Add support for WOL using Magic Packet after suspend is done. Signed-off-by: Sarveshwar Bandi <[email protected]> Signed-off-by: Ajit Khaparde <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-12-03be2net: Changes to print fw command opcode when command is failed by controller.Ajit Khaparde1-32/+57
When a firmware command fails, only the failure codes are printed. It is difficult to co-relate this to the actual command that has failed. These changes will now print the command code that has failed. Signed-off-by: Sarveshwar Bandi <[email protected]> Signed-off-by: Ajit Khaparde <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-12-03net: Batch inet_twsk_purgeEric W. Biederman4-14/+24
This function walks the whole hashtable so there is no point in passing it a network namespace. Instead I purge all timewait sockets from dead network namespaces that I find. If the namespace is one of the once I am trying to purge I am guaranteed no new timewait sockets can be formed so this will get them all. If the namespace is one I am not acting for it might form a few more but I will call inet_twsk_purge again and shortly to get rid of them. In any even if the network namespace is dead timewait sockets are useless. Move the calls of inet_twsk_purge into batch_exit routines so that if I am killing a bunch of namespaces at once I will just call inet_twsk_purge once and save a lot of redundant unnecessary work. My simple 4k network namespace exit test the cleanup time dropped from roughly 8.2s to 1.6s. While the time spent running inet_twsk_purge fell to about 2ms. 1ms for ipv4 and 1ms for ipv6. Signed-off-by: Eric W. Biederman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-12-03net: Use rcu lookups in inet_twsk_purge.Eric W. Biederman1-15/+24
While we are looking up entries to free there is no reason to take the lock in inet_twsk_purge. We have to drop locks and restart occassionally anyway so adding a few more in case we get on the wrong list because of a timewait move is no big deal. At the same time not taking the lock for long periods of time is much more polite to the rest of the users of the hash table. In my test configuration of killing 4k network namespaces this change causes 4k back to back runs of inet_twsk_purge on an empty hash table to go from roughly 20.7s to 3.3s, and the total time to destroy 4k network namespaces goes from roughly 44s to 3.3s. Signed-off-by: Eric W. Biederman <[email protected]> Acked-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-12-03net: Allow fib_rule_unregister to batchEric W. Biederman5-38/+57
Refactor the code so fib_rules_register always takes a template instead of the actual fib_rules_ops structure that will be used. This is required for network namespace support so 2 out of the 3 callers already do this, it allows the error handling to be made common, and it allows fib_rules_unregister to free the template for hte caller. Modify fib_rules_unregister to use call_rcu instead of syncrhonize_rcu to allw multiple namespaces to be cleaned up in the same rcu grace period. Signed-off-by: Eric W. Biederman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-12-03netns: Add an explicit rcu_barrier to unregister_pernet_{device|subsys}Eric W. Biederman1-2/+6
This allows namespace exit methods to batch work that comes requires an rcu barrier using call_rcu without having to treat the unregister_pernet_operations cases specially. Signed-off-by: Eric W. Biederman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-12-03net: Allow xfrm_user_net_exit to batch efficiently.Eric W. Biederman2-8/+11
xfrm.nlsk is provided by the xfrm_user module and is access via rcu from other parts of the xfrm code. Add xfrm.nlsk_stash a copy of xfrm.nlsk that will never be set to NULL. This allows the synchronize_net and netlink_kernel_release to be deferred until a whole batch of xfrm.nlsk sockets have been set to NULL. Signed-off-by: Eric W. Biederman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-12-03net: Move network device exit batchingEric W. Biederman2-24/+25
Move network device exit batching from a special case in net_namespace.c to using common mechanisms in dev.c Signed-off-by: Eric W. Biederman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-12-03net: Add support for batching network namespace cleanupsEric W. Biederman2-61/+63
- Add exit_list to struct net to support building lists of network namespaces to cleanup. - Add exit_batch to pernet_operations to allow running operations only once during a network namespace exit. Instead of once per network namespace. - Factor opt ops_exit_list and ops_exit_free so the logic with cleanup up a network namespace does not need to be duplicated. Signed-off-by: Eric W. Biederman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-12-03ipv4 05/05: add sysctl to accept packets with local source addressesPatrick McHardy6-4/+17
commit 8ec1e0ebe26087bfc5c0394ada5feb5758014fc8 Author: Patrick McHardy <[email protected]> Date: Thu Dec 3 12:16:35 2009 +0100 ipv4: add sysctl to accept packets with local source addresses Change fib_validate_source() to accept packets with a local source address when the "accept_local" sysctl is set for the incoming inet device. Combined with the previous patches, this allows to communicate between multiple local interfaces over the wire. Signed-off-by: Patrick McHardy <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-12-03net 04/05: fib_rules: allow to delete local rulePatrick McHardy3-3/+3
commit d124356ce314fff22a047ea334379d5105b2d834 Author: Patrick McHardy <[email protected]> Date: Thu Dec 3 12:16:35 2009 +0100 net: fib_rules: allow to delete local rule Allow to delete the local rule and recreate it with a higher priority. This can be used to force packets with a local destination out on the wire instead of routing them to loopback. Additionally this patch allows to recreate rules with a priority of 0. Combined with the previous patch to allow oif classification, a socket can be bound to the desired interface and packets routed to the wire like this: # move local rule to lower priority ip rule add pref 1000 lookup local ip rule del pref 0 # route packets of sockets bound to eth0 to the wire independant # of the destination address ip rule add pref 100 oif eth0 lookup 100 ip route add default dev eth0 table 100 Signed-off-by: Patrick McHardy <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-12-03net 03/05: fib_rules: add oif classificationPatrick McHardy3-1/+37
commit 68144d350f4f6c348659c825cde6a82b34c27a91 Author: Patrick McHardy <[email protected]> Date: Thu Dec 3 12:05:25 2009 +0100 net: fib_rules: add oif classification Support routing table lookup based on the flow's oif. This is useful to classify packets originating from sockets bound to interfaces differently. The route cache already includes the oif and needs no changes. Signed-off-by: Patrick McHardy <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-12-03net 02/05: fib_rules: rename ifindex/ifname/FRA_IFNAME to ↵Patrick McHardy3-23/+25
iifindex/iifname/FRA_IIFNAME commit 229e77eec406ad68662f18e49fda8b5d366768c5 Author: Patrick McHardy <[email protected]> Date: Thu Dec 3 12:05:23 2009 +0100 net: fib_rules: rename ifindex/ifname/FRA_IFNAME to iifindex/iifname/FRA_IIFNAME The next patch will add oif classification, rename interface related members and attributes to reflect that they're used for iif classification. Signed-off-by: Patrick McHardy <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-12-03net 01/05: fib_rules: rearrange struct fib_rulePatrick McHardy1-1/+1
commit b8952893d5d86f69c4e499d191b98c6658f64b0f Author: Patrick McHardy <[email protected]> Date: Thu Dec 3 12:05:22 2009 +0100 net: fib_rules: rearrange struct fib_rule The ifname member is only used to resolve interface names and is not needed during rule lookups. The target and ctarget members however are used during rule lookups and are currently located in a second cacheline. Move ifname further to the end to make sure both target and ctarget are located in the same cacheline as other members used during rule lookups. The layout on 64 bit changes from: struct fib_rule { ... u32 table; /* 56 4 */ u8 action; /* 60 1 */ /* XXX 3 bytes hole, try to pack */ /* --- cacheline 1 boundary (64 bytes) --- */ u32 target; /* 64 4 */ /* XXX 4 bytes hole, try to pack */ struct fib_rule * ctarget; /* 72 8 */ struct rcu_head rcu; /* 80 16 */ struct net * fr_net; /* 96 8 */ }; to: struct fib_rule { ... u32 table; /* 40 4 */ u8 action; /* 44 1 */ /* XXX 3 bytes hole, try to pack */ u32 target; /* 48 4 */ /* XXX 4 bytes hole, try to pack */ struct fib_rule * ctarget; /* 56 8 */ /* --- cacheline 1 boundary (64 bytes) --- */ char ifname[16]; /* 64 16 */ struct rcu_head rcu; /* 80 16 */ struct net * fr_net; /* 96 8 */ }; Signed-off-by: Patrick McHardy <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-12-03cfq-iosched: fix compile problem with !CONFIG_CGROUPJens Axboe1-0/+10
Signed-off-by: Jens Axboe <[email protected]>
2009-12-03ARM: 5846/1: MAINTAINERS: Add arm Nomadik supportAlessandro Rubini1-0/+8
Signed-off-by: Alessandro Rubini <[email protected]> Acked-by: Andrea Gallo <[email protected]> Signed-off-by: Russell King <[email protected]>
2009-12-03ARM: 5845/1: l2x0: check whether l2x0 already enabledSrinidhi Kasagar1-9/+16
If running in non-secure mode accessing some registers of l2x0 will fault. So check if l2x0 is already enabled, if so do not access those secure registers. Signed-off-by: srinidhi kasagar <[email protected]> Acked-by: Catalin Marinas <[email protected]> Signed-off-by: Russell King <[email protected]>
2009-12-03ARM: 5792/1: bcmring: clean up mach/io.hLeo Chen1-29/+6
removed old macro definition for io access, using the generic macros defined in asm/io.h Signed-off-by: Leo Hao Chen <[email protected]> Signed-off-by: Russell King <[email protected]>
2009-12-03libata: add private driver field to struct ata_deviceBartlomiej Zolnierkiewicz1-0/+1
This brings struct ata_device in-line with struct ata_{port,host}. Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03ahci: let users know that Promise PDC42819 support is limited to SATA devicesMark Nelson1-0/+8
ahci can drive the Promise PDC42819, but obviously it can only use SATA disks connected to this controller. The controller can actually support SAS disks as well, but we only know how to use it in it's AHCI mode. Add a message to let users know that because ahci is driving their chip they can only use the SATA disks connected to this controller. Signed-off-by: Mark Nelson <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03ata: use pci_dev->revisionSergei Shtylyov5-39/+20
Some places were using PCI_CLASS_REVISION instead of PCI_REVISION_ID, so they weren't converted by commit 44c10138fd4bbc4b6d6bff0873c24902f2a9da65 (PCI: Change all drivers to use pci_device->revision). Signed-off-by: Sergei Shtylyov <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03pata_hpt366: fix timing register documentationSergei Shtylyov1-16/+14
The comment in the driver actually describes HPT37x's timing register layout, which is different from HPT36x. Fix it and reformat the comment, while at it. Bump the driver version, accounting for several patches that forgot to do it. Signed-off-by: Sergei Shtylyov <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03libata: add comment documenting PIO latency issues on UPBartlomiej Zolnierkiewicz1-0/+7
Based on: http://lkml.indiana.edu/hypermail/linux/kernel/0908.2/01420.html Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03pata_hpt{37x|3x2n}: fix timing register masks (take 2)Sergei Shtylyov2-26/+23
These drivers inherited from the older 'hpt366' IDE driver the buggy timing register masks in their set_piomode() metods. As a result, too low command cycle active time is programmed for slow PIO modes. Quite fortunately, it's later "fixed up" by the set_dmamode() methods which also "helpfully" reprogram the command timings, usually to PIO mode 4; unfortunately, setting an UltraDMA mode #N also reprograms already set PIO data timings, usually to MWDMA mode # max(N, 2) timings... However, the drivers added some breakage of their own too: the bit that they set/clear to control the FIFO is sometimes wrong -- it's actually the MSB of the command cycle setup time; also, setting it in DMA mode is wrong as this bit is only for PIO actually and clearing it for PIO modes is not needed as no mode in any timing table has it set... Fix all this, inverting the masks while at it, like in the 'hpt366' and 'pata_hpt366' drivers; bump the drivers' versions, accounting for recent patches that forgot to do it... Signed-off-by: Sergei Shtylyov <[email protected]> Cc: [email protected] Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03pata_piccolo: Driver for old Toshiba chipsetsAlan Cox6-5/+160
We were never able to get docs for this out of Toshiba for years. Dave Barnes produced a NetBSD driver however and from that we can fill in the needed tables. As we correct the PCI identifiers a bit also update the old ide generic driver at the same time so it stays compiling. Signed-off-by: Alan Cox <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2009-12-03Merge branch 'perf/probes' into perf/coreIngo Molnar2-3/+35
Merge reason: add these fixes to 'perf probe'. Signed-off-by: Ingo Molnar <[email protected]>
2009-12-03Merge branch 'perf/mce' into perf/coreIngo Molnar9-63/+198
Merge reason: It's ready for v2.6.33. Signed-off-by: Ingo Molnar <[email protected]>
2009-12-03Merge branch 'perf/scripting' into perf/coreIngo Molnar31-15/+2458
Merge reason: it's ready for v2.6.33. Signed-off-by: Ingo Molnar <[email protected]>
2009-12-03Bluetooth: Declare MODULE_FIRMWARE for Marvell SDIO driverBen Hutchings1-0/+2
Signed-off-by: Ben Hutchings <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]>
2009-12-03Bluetooth: Add RFCOMM option to use L2CAP ERTM modeMarcel Holtmann1-0/+6
By default the RFCOMM layer would still use L2CAP basic mode. For testing purposes this option enables RFCOMM to select enhanced retransmission mode. Signed-off-by: Marcel Holtmann <[email protected]>
2009-12-03Bluetooth: Add L2CAP option for max transmit valueMarcel Holtmann1-1/+5
For testing purposes it is important to modify the max transmit value. Signed-off-by: Marcel Holtmann <[email protected]>
2009-12-03Bluetooth: Enable auto sleep mode for btmrvl driverAmitkumar Karwar3-22/+36
The auto sleep mode for btmrvl driver is not enabled by default. This patch enables auto sleep mode when card is probed. Signed-off-by: Amitkumar Karwar <[email protected]> Signed-off-by: Bing Zhao <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]>
2009-12-03Bluetooth: Fix 'SendRRorRNR' to send the ReqSeq valueGustavo F. Padovan1-0/+2
SendRRorRNR needs to acknowledge received I-frames (actually every packet needs to acknowledge received I-frames by sending the proper packet sequence number), so ReqSeq is set to the next I-frame number sequence to be pulled by the reassembly function. SendRRorRNR tells the remote side about local busy conditions, it sends a Receiver Ready frame if local busy is false or a Receiver Not Ready if local busy is true. ReqSeq is the packet's field to send the number of the acknowledged packets. Signed-off-by: Gustavo F. Padovan <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]>
2009-12-03Bluetooth: Implement RejActioned flagGustavo F. Padovan2-3/+36
RejActioned is used to prevent retransmission when a entity is on the WAIT_F state, i.e., waiting for a frame with F-bit set due local busy condition or a expired retransmission timer. (When these two events raise they send a frame with the Poll bit set and enters in the WAIT_F state to wait for a frame with the Final bit set.) The local entity doesn't send I-frames(the data frames) until the receipt of a frame with F-bit set. When that happens it also set RejActioned to false. RejActioned is a mandatory feature of ERTM spec. Signed-off-by: Gustavo F. Padovan <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]>
2009-12-03Bluetooth: Fix sending ReqSeq on I-framesGustavo F. Padovan2-3/+6
As specified by ERTM spec an ERTM channel can acknowledge received I-frames(the data frames) by sending an I-frame with the proper ReqSeq value (i.e. ReqSeq is set to BufferSeq). Until now we aren't setting the ReqSeq value on I-frame control bits. That way we can save sending S-frames(Supervise frames) only to acknowledge receipt of I-frames. It is very helpful to the full-duplex channel. ReqSeq is the packet sequence number sent in an acknowledgement frame to acknowledge receipt of frames up to (ReqSeq - 1). BufferSeq controls the receiver buffer, it is used to delay acknowledgement of new frames to not cause buffer overflow. BufferSeq value is not increased until frames are pulled by reassembly function. Signed-off-by: Gustavo F. Padovan <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]>
2009-12-03Bluetooth: Fix unset of SrejActioned flagGustavo F. Padovan1-1/+1
SrejActioned is a flag that when set prevents local side to retransmit a I-frame(the data frame) already retransmitted. The local entity can retransmit again only when it receives a SREJ frame with the F-bit set. SREJ frame - Selective Reject frame - is sent when an entity wants the retransmission of a specific I-frame that was lost or corrupted. This bug can put ERTM in an unknown state once the entity can't retransmit. A frame with the Final bit set is expected when the local side sends a frame with the Poll bit set due to a local busy condition or a retransmission timer expired. (Receipt of P-bit shall always be replied by a frame with the F-bit set). pi->conn_state keeps informations about many ERTM flags including SrejActioned. Signed-off-by: Gustavo F. Padovan <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]>
2009-12-03Bluetooth: Initialize variables and timers for both channel's sidesGustavo F. Padovan1-18/+36
Fix ERTM's full-duplex channel to work as specified by ERTM spec. ERTM needs to handle state vars, timers and counters to send and receive I-frames(the data frames), i.e., for both sides of data communication. We initialize all of them to the default values here. Full-duplex channel is a mandatory feature of ERTM spec. Signed-off-by: Gustavo F. Padovan <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]>