summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-10-04staging: brcm80211: removed global var global_scb from softmacRoland Vossen5-27/+24
Global variables are undesirable unless they are read only. Removed by instead using an already defined Station Control Block variable in a per-device structure. Reported-by: Johannes Berg <johannes@sipsolutions.net> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: brcm80211: removed band related global vars from softmacRoland Vossen2-12/+18
Global variables are undesirable unless they are read only. Variables are now maintained in a device specific structure. Reported-by: Johannes Berg <johannes@sipsolutions.net> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: brcm80211: remove unnecessary mac80211 callbacksArend van Spriel1-61/+0
Several callback were implemented without executing any further function calls into the driver. Review feedback indicated that these could be removed. Reported-by: Johannes Berg <johannes@sipsolutions.net> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: brcm80211: remove dongle firmware related debug codeArend van Spriel1-258/+1
When the device dies the driver could extract cpu registers on the device to analyze the trap handling on the dongle. As the firmware with this driver is stable this code does not belong in the brcmfmac driver. Reported-by: Johannes Berg <johannes@sipsolutions.net> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: brcm80211: make device initializer table for wme constantArend van Spriel1-2/+2
For chip initialisation of the wme parameters a table is used, but it was not marked as constant. Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: brcm80211: remove unused function si_pmu_ilp_clock()Arend van Spriel2-23/+0
The function is not used in the driver and has been removed. Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: brcm80211: use fragment number provided in transmit frameArend van Spriel1-1/+1
In the transmit path the field seq_ctrl is filled in, but the fragment number was not properly determined. Reviewed-by: Roland Vossen <rvossen@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: brcm80211: remove ht_cap field from brcms_c_info structureArend van Spriel3-34/+0
The field ht_cap was typed ieee80211_ht_cap from ieee80211.h. This contained little endian annotated field cap_info resulting in sparse endian warnings. It turned out the driver was setting the field, but it was actually never used. Therefore it has been removed. Reported-by: Johannes Berg <johannes@sipsolutions.net> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: brcm80211: removed unused softmac workaroundRoland Vossen5-49/+1
WAR16165 is only used on older PCI chips, the driver does not support these chips. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: brcm80211: removed global vars in softmac ucode handlingRoland Vossen5-95/+106
Moved global vars into a per-device structure. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: brcm80211: removed global var from aiutils.cRoland Vossen1-5/+1
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: brcm80211: removed redundant wlc->cfg struct memberRoland Vossen2-28/+20
After initialization ('attach'), this struct member always pointed at the same memory as wlc->bsscfg. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: brcm80211: deleted unused array of bss configurations in softmacRoland Vossen3-103/+43
List always had one element. Converted the array to a scalar. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: brcm80211: removed unused argument from softmac functionsRoland Vossen2-194/+188
Parameter 's2' was unused. Affected function was only used internally to main.c and has been made static and moved above its callers. Reported-by: Johannes Berg <johannes@sipsolutions.net> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: brcm80211: remove uncoditional code blocks from brcmsmacArend van Spriel3-83/+63
Using a block statement to scope function variables is not common in linux kernel development. Browsed through the brcmsmac to remove those. Reported-by: Johannes Berg <johannes@sipsolutions.net> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: add module.h to various iio driversPaul Gortmaker2-0/+2
Since they are assuming it is there implicitly and will fail otherwise with things like: drivers/staging/iio/impedance-analyzer/ad5933.c:816: warning: type defaults to ‘int’ in declaration of ‘MODULE_AUTHOR’ drivers/staging/iio/adc/ad7280a.c:990: warning: type defaults to ‘int’ in declaration of ‘MODULE_AUTHOR’ Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging: intel_sst: fix compile errorLu Guanqun1-0/+1
include module.h to fix the following compile errors: drivers/staging/intel_sst/intelmid.c:52: error: expected declaration specifiers or '...' before string constant drivers/staging/intel_sst/intelmid.c:52: warning: data definition has no type or storage class drivers/staging/intel_sst/intelmid.c:52: warning: type defaults to 'int' in declaration of 'MODULE_AUTHOR' drivers/staging/intel_sst/intelmid.c:52: warning: function declaration isn't a prototype drivers/staging/intel_sst/intelmid.c:53: error: expected declaration specifiers or '...' before string constant drivers/staging/intel_sst/intelmid.c:53: warning: data definition has no type or storage class drivers/staging/intel_sst/intelmid.c:53: warning: type defaults to 'int' in declaration of 'MODULE_AUTHOR' drivers/staging/intel_sst/intelmid.c:53: warning: function declaration isn't a prototype drivers/staging/intel_sst/intelmid.c:54: error: expected declaration specifiers or '...' before string constant drivers/staging/intel_sst/intelmid.c:54: warning: data definition has no type or storage class drivers/staging/intel_sst/intelmid.c:54: warning: type defaults to 'int' in declaration of 'MODULE_AUTHOR' drivers/staging/intel_sst/intelmid.c:54: warning: function declaration isn't a prototype drivers/staging/intel_sst/intelmid.c:55: error: expected declaration specifiers or '...' before string constant drivers/staging/intel_sst/intelmid.c:55: warning: data definition has no type or storage class drivers/staging/intel_sst/intelmid.c:55: warning: type defaults to 'int' in declaration of 'MODULE_AUTHOR' drivers/staging/intel_sst/intelmid.c:55: warning: function declaration isn't a prototype drivers/staging/intel_sst/intelmid.c:56: error: expected declaration specifiers or '...' before string constant drivers/staging/intel_sst/intelmid.c:56: warning: data definition has no type or storage class drivers/staging/intel_sst/intelmid.c:56: warning: type defaults to 'int' in declaration of 'MODULE_DESCRIPTION' drivers/staging/intel_sst/intelmid.c:56: warning: function declaration isn't a prototype drivers/staging/intel_sst/intelmid.c:57: error: expected declaration specifiers or '...' before string constant drivers/staging/intel_sst/intelmid.c:57: warning: data definition has no type or storage class drivers/staging/intel_sst/intelmid.c:57: warning: type defaults to 'int' in declaration of 'MODULE_LICENSE' drivers/staging/intel_sst/intelmid.c:57: warning: function declaration isn't a prototype drivers/staging/intel_sst/intelmid.c:58: error: expected declaration specifiers or '...' before string constant drivers/staging/intel_sst/intelmid.c:58: warning: data definition has no type or storage class drivers/staging/intel_sst/intelmid.c:58: warning: type defaults to 'int' in declaration of 'MODULE_SUPPORTED_DEVICE' drivers/staging/intel_sst/intelmid.c:58: warning: function declaration isn't a prototype drivers/staging/intel_sst/intelmid.c:64: error: expected ')' before 'int' drivers/staging/intel_sst/intelmid.c:65: error: expected ')' before string constant drivers/staging/intel_sst/intelmid.c:66: error: expected ')' before numeric constant drivers/staging/intel_sst/intelmid.c:67: error: expected ')' before string constant drivers/staging/intel_sst/intelmid.c:461: warning: data definition has no type or storage class drivers/staging/intel_sst/intelmid.c:461: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL' drivers/staging/intel_sst/intelmid.c:461: warning: parameter names (without types) in function declaration drivers/staging/intel_sst/intelmid.c:475: warning: data definition has no type or storage class drivers/staging/intel_sst/intelmid.c:475: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL' drivers/staging/intel_sst/intelmid.c:475: warning: parameter names (without types) in function declaration drivers/staging/intel_sst/intelmid.c: In function 'snd_intelmad_probe': drivers/staging/intel_sst/intelmid.c:859: error: 'THIS_MODULE' undeclared (first use in this function) drivers/staging/intel_sst/intelmid.c:859: error: (Each undeclared identifier is reported only once drivers/staging/intel_sst/intelmid.c:859: error: for each function it appears in.) drivers/staging/intel_sst/intelmid.c: At top level: drivers/staging/intel_sst/intelmid.c:989: error: 'THIS_MODULE' undeclared here (not in a function) Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Lu Guanqun <guanqun.lu@intel.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:imu:adis16400 rename adis16344 -> adis16334.Jonathan Cameron2-10/+10
Part never existed under that name. Ooops Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:adc:ad7887 stop using IIO_CHAN macro.Jonathan Cameron1-8/+18
It's going away. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:adc:ad7606 remove unused chip info elements.Jonathan Cameron1-2/+0
These are now handled through the chan_spec arrays and no one is using them anymore. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:adc:ad7606 refactor to remove st->irq and st->id.Jonathan Cameron4-11/+7
id wasn't used anywhere and st->irq can be removed by simply passing it into the core remove function (trivially available in the two bus implementations). Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging;iio:adc:ad7606 use iio_sw_buffer_preenable rather than local equivJonathan Cameron2-36/+7
Other than a few slight refactorings the local version was pretty standard so replace it and rework to get rid of st->d_size which it setup. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:adc:ad7606 make gpio request failures more consistentJonathan Cameron3-56/+86
To my mind, if a gpio is specified in the board file, yet fails to be successfully requested, that is an error condidtion and the driver should not muddle on regardless. This does mean unwinding the gpios on error. Also the free_gpios function is reordered so that it is consistent with the request one (reverse order obviously). This patch is the category of not technically fixing anything, just making the driver be more in line with what a reviewer will expect. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:adc:ad7606 trivial code style fix.Jonathan Cameron1-2/+1
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:adc:ad7606 add local define for chan_spec structures.Jonathan Cameron1-54/+28
IIO_CHAN is being phased out and in this case things are so simple it makes sense to have a local one parameter equivalent. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:adc:ad799x address and scan_index always match so stop using addressJonathan Cameron1-39/+1
Saves on setting the value of address for the simple situation seen in this device. They are already used interchangably to get data from the buffer. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:adc:ad799x set the device name only once.Jonathan Cameron1-1/+0
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:adc:ad799x use the core handling for as much of the events as ↵Jonathan Cameron1-60/+82
possible. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:adc:ad799x avoid bouncing back and forth from iio_priv space.Jonathan Cameron3-5/+5
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:adc:ad799x use a table for frequency values rather than big switch.Jonathan Cameron1-57/+17
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:adc:ad799x trivial: use the convenient chan struct.Jonathan Cameron1-4/+3
This is much cleaner than bouncing through the various structures to get to the same thing. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:adc:ad799x stop using IIO_CHAN macro.Jonathan Cameron1-123/+329
Preparation for moving driver out of staging. That macro is a nightmare to maintain so it is going away. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04staging:iio:adc:ad799x fix incorrect scan_type descriptions.Jonathan Cameron1-20/+20
A few of these had the wrong shifts, which would lead to userspace hacking off the top couple of bits. Also, one part had the wrong accuracy. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-04MAINTAINERS: the staging tree dropped the "-2.6" suffixGreg Kroah-Hartman1-1/+1
Now that we are in the 3.x days, "2.6" doesn't make sense. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-03Merge branch 'hwmon-for-linus' of git://github.com/groeck/linuxLinus Torvalds1-15/+13
* 'hwmon-for-linus' of git://github.com/groeck/linux: hwmon: (coretemp) Avoid leaving around dangling pointer hwmon: (coretemp) Fixup platform device ID change
2011-10-03Merge git://github.com/davem330/ideLinus Torvalds1-1/+6
* git://github.com/davem330/ide: ide-disk: Fix request requeuing
2011-10-03Merge branch 'btrfs-3.0' of git://github.com/chrismason/linuxLinus Torvalds1-8/+16
* 'btrfs-3.0' of git://github.com/chrismason/linux: Btrfs: force a page fault if we have a shorty copy on a page boundary
2011-10-03ide-disk: Fix request requeuingBorislav Petkov1-1/+6
Simon Kirby reported that on his RAID setup with idedisk underneath the box OOMs after a couple of days of runtime. Running with CONFIG_DEBUG_KMEMLEAK pointed to idedisk_prep_fn() which unconditionally allocates an ide_cmd struct. However, ide_requeue_and_plug() can be called more than once per request, either from the request issue or the IRQ handler path and do blk_peek_request() ends up in idedisk_prep_fn() repeatedly, allocating a struct ide_cmd everytime and "forgetting" the previous pointer. Make sure the code reuses the old allocated chunk. Reported-and-tested-by: Simon Kirby <sim@hostway.ca> Cc: <stable@kernel.org> [ 39.x, 3.0.x ] Link: http://marc.info/?l=linux-kernel&m=131667641517919 Link: http://lkml.kernel.org/r/20110922072643.GA27232@hostway.ca Signed-off-by: Borislav Petkov <bp@alien8.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-03pch_gbe: Fixed the issue on which a network freezesToshiharu Okada1-29/+27
The pch_gbe driver has an issue which a network stops, when receiving traffic is high. In the case, The link down and up are necessary to return a network. This patch fixed this issue. Signed-off-by: Toshiharu Okada <toshiharu-linux@dsn.okisemi.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-03pch_gbe: Fixed the issue on which PC was frozen when link was downed.Toshiharu Okada1-1/+1
When a link was downed during network use, there is an issue on which PC freezes. This patch fixed this issue. Signed-off-by: Toshiharu Okada <toshiharu-linux@dsn.okisemi.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-03make PACKET_STATISTICS getsockopt report consistently between ring and non-ringWillem de Bruijn1-1/+4
This is a minor change. Up until kernel 2.6.32, getsockopt(fd, SOL_PACKET, PACKET_STATISTICS, ...) would return total and dropped packets since its last invocation. The introduction of socket queue overflow reporting [1] changed drop rate calculation in the normal packet socket path, but not when using a packet ring. As a result, the getsockopt now returns different statistics depending on the reception method used. With a ring, it still returns the count since the last call, as counts are incremented in tpacket_rcv and reset in getsockopt. Without a ring, it returns 0 if no drops occurred since the last getsockopt and the total drops over the lifespan of the socket otherwise. The culprit is this line in packet_rcv, executed on a drop: drop_n_acct: po->stats.tp_drops = atomic_inc_return(&sk->sk_drops); As it shows, the new drop number it taken from the socket drop counter, which is not reset at getsockopt. I put together a small example that demonstrates the issue [2]. It runs for 10 seconds and overflows the queue/ring on every odd second. The reported drop rates are: ring: 16, 0, 16, 0, 16, ... non-ring: 0, 15, 0, 30, 0, 46, 0, 60, 0 , 74. Note how the even ring counts monotonically increase. Because the getsockopt adds tp_drops to tp_packets, total counts are similarly reported cumulatively. Long story short, reinstating the original code, as the below patch does, fixes the issue at the cost of additional per-packet cycles. Another solution that does not introduce per-packet overhead is be to keep the current data path, record the value of sk_drops at getsockopt() at call N in a new field in struct packetsock and subtract that when reporting at call N+1. I'll be happy to code that, instead, it's just more messy. [1] http://patchwork.ozlabs.org/patch/35665/ [2] http://kernel.googlecode.com/files/test-packetsock-getstatistics.c Signed-off-by: Willem de Bruijn <willemb@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-03net: xen-netback: correctly restart Tx after a VM restore/migrateDavid Vrabel1-2/+2
If a VM is saved and restored (or migrated) the netback driver will no longer process any Tx packets from the frontend. xenvif_up() does not schedule the processing of any pending Tx requests from the front end because the carrier is off. Without this initial kick the frontend just adds Tx requests to the ring without raising an event (until the ring is full). This was caused by 47103041e91794acdbc6165da0ae288d844c820b (net: xen-netback: convert to hw_features) which reordered the calls to xenvif_up() and netif_carrier_on() in xenvif_connect(). Signed-off-by: David Vrabel <david.vrabel@citrix.com> Cc: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-03bonding: properly stop queuing work when requestedAndy Gospodarek3-7/+12
During a test where a pair of bonding interfaces using ARP monitoring were both brought up and torn down (with an rmmod) repeatedly, a panic in the timer code was noticed. I tracked this down and determined that any of the bonding functions that ran as workqueue handlers and requeued more work might not properly exit when the module was removed. There was a flag protected by the bond lock called kill_timers that is set when the interface goes down or the module is removed, but many of the functions that monitor link status now unlock the bond lock to take rtnl first. There is a chance that another CPU running the rmmod could get the lock and set kill_timers after the first check has passed. This patch does not allow any function to queue work that will make itself run unless kill_timers is not set. I also noticed while doing this work that bond_resend_igmp_join_requests did not have a check for kill_timers, so I added the needed call there as well. Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Reported-by: Liang Zheng <lzheng@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-03drm/radeon: Set cursor x/y to 0 when x/yorigin > 0.Michel Dänzer1-10/+10
Apart from the obvious cleanup, this should make the line cursor_end = x - xorigin + w; correct now. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-03drm/radeon: Update AVIVO cursor coordinate origin before x/yorigin calculation.Michel Dänzer1-5/+7
Fixes cursor disappearing prematurely when moving off a top/left edge which is not located at the desktop top/left edge. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Cc: stable@kernel.org Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-03drm/radeon: Simplify cursor x/yorigin calculation.Michel Dänzer1-6/+2
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-03drm/radeon/kms: fix cursor image off-by-one errorNicholas Miell1-2/+2
The mouse cursor hotspot calculation when the cursor is partially off the top or left side of the screen was off by one. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=41158 Signed-off-by: Nicholas Miell <nmiell@gmail.com> Reviewed-by: Michel Dänzer <michel@daenzer.net> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-03drm/radeon/kms: Fix logic error in DP HPD handlerAlex Deucher1-4/+4
Only disable the pipe if the monitor is physically disconnected. The previous logic also disabled the pipe if the link was trained. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=41248 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-03drm/radeon/kms: add retry limits for native DP aux deferAlex Deucher1-4/+8
The previous code could potentially loop forever. Limit the number of DP aux defer retries to 4 for native aux transactions, same as i2c over aux transactions. Noticed by: Brad Campbell <lists2009@fnarfbargle.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: Brad Campbell <lists2009@fnarfbargle.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-10-03drm/radeon/kms: fix regression in DP aux defer handlingAlex Deucher1-2/+2
An incorrect ordering in the error checking code lead to DP aux defer being skipped in the aux native write path. Move the bytes transferred check (ret == 0) below the defer check. Tracked down by: Brad Campbell <brad@fnarfbargle.com> Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=41121 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: Brad Campbell <brad@fnarfbargle.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>