summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* kvm: provide kvm.h for all architecture: fixes headers_installChristian Borntraeger2008-04-0224-1/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently include/linux/kvm.h is not considered by make headers_install, because Kbuild cannot handle " unifdef-$(CONFIG_FOO) += foo.h. This problem was introduced by commit fb56dbb31c4738a3918db81fd24da732ce3b4ae6 Author: Avi Kivity <avi@qumranet.com> Date: Sun Dec 2 10:50:06 2007 +0200 KVM: Export include/linux/kvm.h only if $ARCH actually supports KVM Currently, make headers_check barfs due to <asm/kvm.h>, which <linux/kvm.h> includes, not existing. Rather than add a zillion <asm/kvm.h>s, export kvm. only if the arch actually supports it. Signed-off-by: Avi Kivity <avi@qumranet.com> which makes this an 2.6.25 regression. One way of solving the issue is to enhance Kbuild, but Avi and David conviced me, that changing headers_install is not the way to go. This patch changes the definition for linux/kvm.h to unifdef-y. If  unifdef-y is used for linux/kvm.h "make headers_check" will fail on all architectures without asm/kvm.h. Therefore, this patch also provides asm/kvm.h on all architectures. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Acked-by: Avi Kivity <avi@qumranet.com> Cc: Sam Ravnborg <sam@ravnborg.org Cc: David Woodhouse <dwmw2@infradead.org> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6Linus Torvalds2008-04-0213-1/+26
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide: use ->ata_input_data in ide_driveid_update() ide-h8300: 32-bit I/O is unsupported ide/legacy/q40ide.c: add MODULE_LICENSE ide/legacy/macide: add MODULE_LICENSE ide/legacy/falconide.c: add MODULE_LICENSE ide/legacy/buddha.c: add MODULE_LICENSE ide/legacy/gayle.c: add MODULE_LICENSE ide/h8300/ide-h8300.c: add MODULE_LICENSE ide/cris/ide-cris.c: add MODULE_LICENSE ide/arm/ide_arm.c: add MODULE_LICENSE ide/ppc/pmac.c: add MODULE_LICENSE ide/ppc/mpc8xx.c: add MODULE_LICENSE ide/pci/cmd640.c: add MODULE_LICENSE ide-pnp.c: add MODULE_LICENSE
| * ide: use ->ata_input_data in ide_driveid_update()Bartlomiej Zolnierkiewicz2008-04-021-1/+1
| | | | | | | | | | | | | | | | | | Use ->ata_input_data method instead of calling ata_input_data() directly. Currently it matters only for (broken) ide-cris host driver but it may change in the future. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide-h8300: 32-bit I/O is unsupportedBartlomiej Zolnierkiewicz2008-04-021-0/+1
| | | | | | | | | | | | | | This host driver doesn't support 32-bit I/O (it sets hwif->INSL/OUTSL to NULL) so IDE_HFLAG_NO_IO_32BIT host flag needs to be set. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide/legacy/q40ide.c: add MODULE_LICENSEAdrian Bunk2008-04-021-0/+2
| | | | | | | | | | | | | | | | Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide/legacy/macide: add MODULE_LICENSEAdrian Bunk2008-04-021-0/+2
| | | | | | | | | | | | | | | | Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide/legacy/falconide.c: add MODULE_LICENSEAdrian Bunk2008-04-021-0/+2
| | | | | | | | | | | | | | | | Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide/legacy/buddha.c: add MODULE_LICENSEAdrian Bunk2008-04-021-0/+2
| | | | | | | | | | | | | | | | Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide/legacy/gayle.c: add MODULE_LICENSEAdrian Bunk2008-04-021-0/+2
| | | | | | | | | | | | | | | | Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide/h8300/ide-h8300.c: add MODULE_LICENSEAdrian Bunk2008-04-021-0/+2
| | | | | | | | | | | | | | | | Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide/cris/ide-cris.c: add MODULE_LICENSEAdrian Bunk2008-04-021-0/+2
| | | | | | | | | | | | | | | | Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide/arm/ide_arm.c: add MODULE_LICENSEAdrian Bunk2008-04-021-0/+2
| | | | | | | | | | | | | | | | Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide/ppc/pmac.c: add MODULE_LICENSEAdrian Bunk2008-04-021-0/+2
| | | | | | | | | | | | | | | | Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide/ppc/mpc8xx.c: add MODULE_LICENSEAdrian Bunk2008-04-021-0/+2
| | | | | | | | | | | | | | | | Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide/pci/cmd640.c: add MODULE_LICENSEAdrian Bunk2008-04-021-0/+2
| | | | | | | | | | | | | | | | Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| * ide-pnp.c: add MODULE_LICENSEAdrian Bunk2008-04-021-0/+2
| | | | | | | | | | | | | | | | Now that it's in an own module it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* | sky2: fix suspend/resume racesStephen Hemminger2008-04-021-0/+6
| | | | | | | | | | | | | | | | | | | | There are a couple of possible races on suspend/resume. First the driver needs to block new packets from being queued for Tx. The other less likely problem is the watchdog timer going off during resume. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvbLinus Torvalds2008-04-025-141/+38
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: V4L/DVB (7486): radio-cadet: wrap PNP probe code in #ifdef CONFIG_PNP V4L/DVB (7485): v4l2-int-device.c: add MODULE_LICENSE V4L/DVB (7466): Avoid minor model number warning when an OEM HVR1250 board is detected V4L/DVB (7465): Fix eeprom parsing and errors on the HVR1800 products V4L/DVB (7464): Convert driver to use a single SRAM memory map V4L/DVB (7461): bttv: fix missed index check V4L/DVB (7400): bttv: Add a radio compat_ioctl file operation V4L/DVB (7278): bttv: Re-enable radio tuner support for VIDIOCGFREQ/VIDIOCSFREQ ioctls V4L/DVB (7277): bttv: Re-enabling radio support requires the use of struct bttv_fh
| * | V4L/DVB (7486): radio-cadet: wrap PNP probe code in #ifdef CONFIG_PNPBjorn Helgaas2008-04-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wrap PNP probe code in #ifdef CONFIG_PNP. Without this change, we'll have unresolved references to pnp_get_resource() function when CONFIG_PNP=n. (This is a new interface that's not in mainline yet.) Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| * | V4L/DVB (7485): v4l2-int-device.c: add MODULE_LICENSEAdrian Bunk2008-04-011-0/+2
| | | | | | | | | | | | | | | | | | | | | Now that it's in an own module it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| * | V4L/DVB (7466): Avoid minor model number warning when an OEM HVR1250 board ↵Steven Toth2008-04-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | is detected Avoid minor model number warning when an OEM HVR1250 board is detected. Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| * | V4L/DVB (7465): Fix eeprom parsing and errors on the HVR1800 productsSteven Toth2008-04-011-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | On some models, the valid Hauppauge eeprom data begins at a different offset. This patch avoid unfriendly 'corrupt' eeprom errors during driver load. Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| * | V4L/DVB (7464): Convert driver to use a single SRAM memory mapSteven Toth2008-04-011-133/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reduces the memory footprint and removes the need to manually configure each map, which lead to a bug where the Fusion EXP 5 board broke for a while. This also fixes digital support again for the DViCO FusionHDTV5Express. Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| * | V4L/DVB (7461): bttv: fix missed index checkCyrill Gorcunov2008-04-011-0/+4
| | | | | | | | | | | | | | | | | | | | | We should check for proper index first Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| * | V4L/DVB (7400): bttv: Add a radio compat_ioctl file operationRobert Fitzsimons2008-04-011-0/+1
| | | | | | | | | | | | | | | Signed-off-by: Robert Fitzsimons <robfitz@273k.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| * | V4L/DVB (7278): bttv: Re-enable radio tuner support for ↵Robert Fitzsimons2008-04-011-2/+3
| | | | | | | | | | | | | | | | | | | | | VIDIOCGFREQ/VIDIOCSFREQ ioctls Signed-off-by: Robert Fitzsimons <robfitz@273k.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| * | V4L/DVB (7277): bttv: Re-enabling radio support requires the use of struct ↵Robert Fitzsimons2008-04-011-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bttv_fh A number of the radio tuner ioctl functions are shared with the TV tuner, these functions require a struct bttv_fh data structure to be allocated and initialized. Signed-off-by: Robert Fitzsimons <robfitz@273k.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6Linus Torvalds2008-04-024-237/+497
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] mvsas: check subsystem id [SCSI] mvsas: get phy info. [SCSI] mvsas: fix the buffer of rx DMA overflow bug [SCSI] mvsas: retry aborting task. [SCSI] mvsas: check hd whether unplugged [SCSI] mvsas : interrupt handling [SCSI] mvsas: a tag handler implementation [SCSI] mvsas: fill in error info record and phy mode6 bits. [SCSI] libsas: Warn if ATA device detected but CONFIG_SCSI_SAS_ATA not set [SCSI] hosts.c: fixes for "no error" reported after error scenarios Revert "[SCSI] fix bsg queue oops with iscsi logout"
| * | | [SCSI] mvsas: check subsystem idKe Wei2008-03-281-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | add support for mv6480 chip which subsystem id is 6480 in spite of device id is 6440. Signed-off-by: Ke Wei <kewei@marvell.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
| * | | [SCSI] mvsas: get phy info.Ke Wei2008-03-281-46/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | removed unused code and attached SATA address makes use of port id. enable HBA interrupt after calling sas_register_ha(); Signed-off-by: Ke Wei <kewei@marvell.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
| * | | [SCSI] mvsas: fix the buffer of rx DMA overflow bugKe Wei2008-03-281-9/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix the buffer of rx DMA overflow bug. fix default queue depth. Signed-off-by: Ke Wei <kewei@marvell.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
| * | | [SCSI] mvsas: retry aborting task.Ke Wei2008-03-281-8/+25
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Ke Wei <kewei@marvell.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
| * | | [SCSI] mvsas: check hd whether unpluggedKe Wei2008-03-281-31/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if unplugged, driver's queuecommand function will return SAS_PHY_DOWN. task->lldd_task is used for saving its slot info. Signed-off-by: Ke Wei <kewei@marvell.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
| * | | [SCSI] mvsas : interrupt handlingKe Wei2008-03-281-57/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a slot is busy, we will not free this slot until slot reset is completed. When unplugged the disk, we should release all command tasks with unplugged port that have been sent. If MVS_USE_TASKLET is defined, we can enable tasklet. Default is off. Signed-off-by: Ke Wei <kewei@marvell.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
| * | | [SCSI] mvsas: a tag handler implementationKe Wei2008-03-281-43/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add a new tag handler to create slot num. When a slot num is busy, new task can't hit this bit which was already used. plumb in phy speeds. Signed-off-by: Ke Wei <kewei@marvell.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
| * | | [SCSI] mvsas: fill in error info record and phy mode6 bits.Ke Wei2008-03-281-36/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and remove some unused members from struct. Signed-off-by: Ke Wei <kewei@marvell.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
| * | | [SCSI] libsas: Warn if ATA device detected but CONFIG_SCSI_SAS_ATA not setJames Bottomley2008-03-271-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We give a very cryptic error if an ATA device is seen on a SAS port but libsas isn't compiled to include libata to handle them. Add an extra warning to explain specifically what the problem is. Acked-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
| * | | [SCSI] hosts.c: fixes for "no error" reported after error scenariosJames Smart2008-03-271-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch corrects some cases in scsi_add_host() that fail, but the "error" return code was not reset after a prior use which set it to a non-error value. Patch cut against scsi-rc-fixes-2.6 Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
| * | | Revert "[SCSI] fix bsg queue oops with iscsi logout"James Bottomley2008-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4b6f5b3a993cbe34b4280f252bccc76967c185c8. bsg takes a reference to the underlying generic device, so it's impossible to unregister bsg in the device release routine. Acked-by: FUJITA Tomonori <tomof@acm.org> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* | | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds2008-04-024-18/+31
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: remove unused calc_npages() in iommu_common.h sparc64: add the segment boundary checking to IOMMUs while merging SG entries [SPARC64]: Don't open-code {get,put}_cpu_var() in flush_tlb_pending().
| * | | | sparc64: remove unused calc_npages() in iommu_common.hFUJITA Tomonori2008-03-281-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | | sparc64: add the segment boundary checking to IOMMUs while merging SG entriesFUJITA Tomonori2008-03-283-4/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some IOMMUs allocate memory areas spanning LLD's segment boundary limit. It forces low level drivers to have a workaround to adjust scatter lists that the IOMMU builds. We are in the process of making all the IOMMUs respect the segment boundary limits to remove such work around in LLDs. SPARC64 IOMMUs were rewritten to use the IOMMU helper functions and the commit 89c94f2f70d093f59b55d3ea8042d13889169346 made the IOMMUs not allocate memory areas spanning the segment boundary limit. However, SPARC64 IOMMUs allocate memory areas first then try to merge them (while some IOMMUs walk through all the sg entries to see how they can be merged first and allocate memory areas). So SPARC64 IOMMUs also need the boundary limit checking when they try to merge sg entries. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | | [SPARC64]: Don't open-code {get,put}_cpu_var() in flush_tlb_pending().David S. Miller2008-03-281-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Noticed by Andrew Morton. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds2008-04-0269-751/+323
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (45 commits) [VLAN]: Proc entry is not renamed when vlan device name changes. [IPV6]: Fix ICMP relookup error path dst leak [ATM] drivers/atm/iphase.c: compilation warning fix IPv6: do not create temporary adresses with too short preferred lifetime IPv6: only update the lifetime of the relevant temporary address bluetooth : __rfcomm_dlc_close lock fix bluetooth : use lockdep sub-classes for diffrent bluetooth protocol [ROSE/AX25] af_rose: rose_release() fix mac80211: correct use_short_preamble handling b43: Fix PCMCIA IRQ routing b43: Add DMA mapping failure messages mac80211: trigger ieee80211_sta_work after opening interface [LLC]: skb allocation size for responses [IP] UDP: Use SEQ_START_TOKEN. [NET]: Remove Documentation/networking/sk98lin.txt [ATM] atm/idt77252.c: Make 2 functions static [ATM]: Make atm/he.c:read_prom_byte() static [IPV6] MCAST: Ensure to check multicast listener(s). [LLC]: Kill llc_station_mac_sa symbol export. forcedeth: fix locking bug with netconsole ...
| * | | | | [VLAN]: Proc entry is not renamed when vlan device name changes.Pavel Emelyanov2008-04-023-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This may lead to situations, when each of two proc entries produce data for the other's device. Looks like a BUG, so this patch is for net-2.6. It will not apply to net-2.6.26 since dev->nd_net access is replaced with dev_net(dev) one. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | | | [IPV6]: Fix ICMP relookup error path dst leakHerbert Xu2008-04-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we encounter an error while looking up the dst the second time we need to drop the first dst. This patch is pretty much the same as the one for IPv4. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | | | [ATM] drivers/atm/iphase.c: compilation warning fixLeonardo Potenza2008-04-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed the warning messages: drivers/atm/iphase.c:961: warning: 'tcnter' defined but not used drivers/atm/iphase.c:963: warning: 'xdump' defined but not used tcnter and xdump() are used only in debug build Signed-off-by: Leonardo Potenza <lpotenza@inwind.it> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | | | IPv6: do not create temporary adresses with too short preferred lifetimeBenoit Boissinot2008-04-021-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From RFC341: A temporary address is created only if this calculated Preferred Lifetime is greater than REGEN_ADVANCE time units. In particular, an implementation must not create a temporary address with a zero Preferred Lifetime. Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | | | IPv6: only update the lifetime of the relevant temporary addressBenoit Boissinot2008-04-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When receiving a prefix information from a routeur, only update the lifetimes of the temporary address associated with that prefix. Otherwise if one deprecated prefix is advertized, all your temporary addresses will become deprecated. Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org> Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | | | bluetooth : __rfcomm_dlc_close lock fixDave Young2008-04-012-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lockdep warning will be trigged while rfcomm connection closing. The locks taken in rfcomm_dev_add: rfcomm_dev_lock --> d->lock In __rfcomm_dlc_close: d->lock --> rfcomm_dev_lock (in rfcomm_dev_state_change) There's two way to fix it, one is in rfcomm_dev_add we first locking d->lock then the rfcomm_dev_lock The other (in this patch), remove the locking of d->lock for rfcomm_dev_state_change because just locking "d->state = BT_CLOSED;" is enough. [ 295.002046] ======================================================= [ 295.002046] [ INFO: possible circular locking dependency detected ] [ 295.002046] 2.6.25-rc7 #1 [ 295.002046] ------------------------------------------------------- [ 295.002046] krfcommd/2705 is trying to acquire lock: [ 295.002046] (rfcomm_dev_lock){-.--}, at: [<f89a090a>] rfcomm_dev_state_change+0x6a/0xd0 [rfcomm] [ 295.002046] [ 295.002046] but task is already holding lock: [ 295.002046] (&d->lock){--..}, at: [<f899c533>] __rfcomm_dlc_close+0x43/0xd0 [rfcomm] [ 295.002046] [ 295.002046] which lock already depends on the new lock. [ 295.002046] [ 295.002046] [ 295.002046] the existing dependency chain (in reverse order) is: [ 295.002046] [ 295.002046] -> #1 (&d->lock){--..}: [ 295.002046] [<c0149b23>] check_prev_add+0xd3/0x200 [ 295.002046] [<c0149ce5>] check_prevs_add+0x95/0xe0 [ 295.002046] [<c0149f6f>] validate_chain+0x23f/0x320 [ 295.002046] [<c014b7b1>] __lock_acquire+0x1c1/0x760 [ 295.002046] [<c014c349>] lock_acquire+0x79/0xb0 [ 295.002046] [<c03d6b99>] _spin_lock+0x39/0x80 [ 295.002046] [<f89a01c0>] rfcomm_dev_add+0x240/0x360 [rfcomm] [ 295.002046] [<f89a047e>] rfcomm_create_dev+0x6e/0xe0 [rfcomm] [ 295.002046] [<f89a0823>] rfcomm_dev_ioctl+0x33/0x60 [rfcomm] [ 295.002046] [<f899facc>] rfcomm_sock_ioctl+0x2c/0x50 [rfcomm] [ 295.002046] [<c0363d38>] sock_ioctl+0x118/0x240 [ 295.002046] [<c0194196>] vfs_ioctl+0x76/0x90 [ 295.002046] [<c0194446>] do_vfs_ioctl+0x56/0x140 [ 295.002046] [<c0194569>] sys_ioctl+0x39/0x60 [ 295.002046] [<c0104faa>] syscall_call+0x7/0xb [ 295.002046] [<ffffffff>] 0xffffffff [ 295.002046] [ 295.002046] -> #0 (rfcomm_dev_lock){-.--}: [ 295.002046] [<c0149a84>] check_prev_add+0x34/0x200 [ 295.002046] [<c0149ce5>] check_prevs_add+0x95/0xe0 [ 295.002046] [<c0149f6f>] validate_chain+0x23f/0x320 [ 295.002046] [<c014b7b1>] __lock_acquire+0x1c1/0x760 [ 295.002046] [<c014c349>] lock_acquire+0x79/0xb0 [ 295.002046] [<c03d6639>] _read_lock+0x39/0x80 [ 295.002046] [<f89a090a>] rfcomm_dev_state_change+0x6a/0xd0 [rfcomm] [ 295.002046] [<f899c548>] __rfcomm_dlc_close+0x58/0xd0 [rfcomm] [ 295.002046] [<f899d44f>] rfcomm_recv_ua+0x6f/0x120 [rfcomm] [ 295.002046] [<f899e061>] rfcomm_recv_frame+0x171/0x1e0 [rfcomm] [ 295.002046] [<f899e357>] rfcomm_run+0xe7/0x550 [rfcomm] [ 295.002046] [<c013c18c>] kthread+0x5c/0xa0 [ 295.002046] [<c0105c07>] kernel_thread_helper+0x7/0x10 [ 295.002046] [<ffffffff>] 0xffffffff [ 295.002046] [ 295.002046] other info that might help us debug this: [ 295.002046] [ 295.002046] 2 locks held by krfcommd/2705: [ 295.002046] #0: (rfcomm_mutex){--..}, at: [<f899e2eb>] rfcomm_run+0x7b/0x550 [rfcomm] [ 295.002046] #1: (&d->lock){--..}, at: [<f899c533>] __rfcomm_dlc_close+0x43/0xd0 [rfcomm] [ 295.002046] [ 295.002046] stack backtrace: [ 295.002046] Pid: 2705, comm: krfcommd Not tainted 2.6.25-rc7 #1 [ 295.002046] [<c0128a38>] ? printk+0x18/0x20 [ 295.002046] [<c014927f>] print_circular_bug_tail+0x6f/0x80 [ 295.002046] [<c0149a84>] check_prev_add+0x34/0x200 [ 295.002046] [<c0149ce5>] check_prevs_add+0x95/0xe0 [ 295.002046] [<c0149f6f>] validate_chain+0x23f/0x320 [ 295.002046] [<c014b7b1>] __lock_acquire+0x1c1/0x760 [ 295.002046] [<c014c349>] lock_acquire+0x79/0xb0 [ 295.002046] [<f89a090a>] ? rfcomm_dev_state_change+0x6a/0xd0 [rfcomm] [ 295.002046] [<c03d6639>] _read_lock+0x39/0x80 [ 295.002046] [<f89a090a>] ? rfcomm_dev_state_change+0x6a/0xd0 [rfcomm] [ 295.002046] [<f89a090a>] rfcomm_dev_state_change+0x6a/0xd0 [rfcomm] [ 295.002046] [<f899c548>] __rfcomm_dlc_close+0x58/0xd0 [rfcomm] [ 295.002046] [<f899d44f>] rfcomm_recv_ua+0x6f/0x120 [rfcomm] [ 295.002046] [<f899e061>] rfcomm_recv_frame+0x171/0x1e0 [rfcomm] [ 295.002046] [<c014abd9>] ? trace_hardirqs_on+0xb9/0x130 [ 295.002046] [<c03d6e89>] ? _spin_unlock_irqrestore+0x39/0x70 [ 295.002046] [<f899e357>] rfcomm_run+0xe7/0x550 [rfcomm] [ 295.002046] [<c03d4559>] ? __sched_text_start+0x229/0x4c0 [ 295.002046] [<c0120000>] ? cpu_avg_load_per_task+0x20/0x30 [ 295.002046] [<f899e270>] ? rfcomm_run+0x0/0x550 [rfcomm] [ 295.002046] [<c013c18c>] kthread+0x5c/0xa0 [ 295.002046] [<c013c130>] ? kthread+0x0/0xa0 [ 295.002046] [<c0105c07>] kernel_thread_helper+0x7/0x10 [ 295.002046] ======================= Signed-off-by: Dave Young <hidave.darkstar@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
OpenPOWER on IntegriCloud