- 18 8月, 2006 1 次提交
-
-
由 Michael Chan 提交于
Fix a subtle race condition between bnx2_start_xmit() and bnx2_tx_int() similar to the one in tg3 discovered by Herbert Xu: CPU0 CPU1 bnx2_start_xmit() if (tx_ring_full) { tx_lock bnx2_tx() if (!netif_queue_stopped) netif_stop_queue() if (!tx_ring_full) update_tx_ring netif_wake_queue() tx_unlock } Even though tx_ring is updated before the if statement in bnx2_tx_int() in program order, it can be re-ordered by the CPU as shown above. This scenario can cause the tx queue to be stopped forever if bnx2_tx_int() has just freed up the entire tx_ring. The possibility of this happening should be very rare though. The following changes are made, very much identical to the tg3 fix: 1. Add memory barrier to fix the above race condition. 2. Eliminate the private tx_lock altogether and rely solely on netif_tx_lock. This eliminates one spinlock in bnx2_start_xmit() when the ring is full. 3. Because of 2, use netif_tx_lock in bnx2_tx_int() before calling netif_wake_queue(). 4. Add memory barrier to bnx2_tx_avail(). 5. Add bp->tx_wake_thresh which is set to half the tx ring size. 6. Check for the full wake queue condition before getting netif_tx_lock in tg3_tx(). This reduces the number of unnecessary spinlocks when the tx ring is full in a steady-state condition. Signed-off-by: NMichael Chan <mchan@broadcom.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 16 8月, 2006 2 次提交
-
-
由 Peter Oberparleiter 提交于
In some situations PAV alias devices on LPAR are not accessible. The initialization procedure required to enable access to PAV alias devices has to be performed per storage server subsystem and not only once per storage server. Signed-off-by: NPeter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
-
由 Heiko Carstens 提交于
The dasd_page_cache should return page addresses and therefore the cache must be created with an alignment of PAGE_SIZE. Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
-
- 15 8月, 2006 3 次提交
-
-
由 Matt LaPlante 提交于
Three typos in drivers/char/watchdog/Kconfig... Signed-off-by: NMatt LaPlante <kernel1@cyberdogtech.com> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Michal Miroslaw 提交于
Fix BUG I tripped on while testing failover and multipathing. BUG shows up on error path in multipath_ctr() when parse_priority_group() fails after returning at least once without error. The fix is to initialize m->ti early - just after alloc()ing it. BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000 printing eip: c027c3d2 *pde = 00000000 Oops: 0000 [#3] Modules linked in: qla2xxx ext3 jbd mbcache sg ide_cd cdrom floppy CPU: 0 EIP: 0060:[<c027c3d2>] Not tainted VLI EFLAGS: 00010202 (2.6.17.3 #1) EIP is at dm_put_device+0xf/0x3b eax: 00000001 ebx: ee4fcac0 ecx: 00000000 edx: ee4fcac0 esi: ee4fc4e0 edi: ee4fc4e0 ebp: 00000000 esp: c5db3e78 ds: 007b es: 007b ss: 0068 Process multipathd (pid: 15912, threadinfo=c5db2000 task=ef485a90) Stack: ec4eda40 c02816bd ee4fc4c0 00000000 f7e89498 f883e0bc c02816f6 f7e89480 f7e8948c c0281801 ffffffea f7e89480 f883e080 c0281ffe 00000001 00000000 00000004 dfe9cab8 f7a693c0 f883e080 f883e0c0 ca4b99c0 c027c6ee 01400000 Call Trace: <c02816bd> free_pgpaths+0x31/0x45 <c02816f6> free_priority_group+0x25/0x2e <c0281801> free_multipath+0x35/0x67 <c0281ffe> multipath_ctr+0x123/0x12d <c027c6ee> dm_table_add_target+0x11e/0x18b <c027e5b4> populate_table+0x8a/0xaf <c027e62b> table_load+0x52/0xf9 <c027ec23> ctl_ioctl+0xca/0xfc <c027e5d9> table_load+0x0/0xf9 <c0152146> do_ioctl+0x3e/0x43 <c0152360> vfs_ioctl+0x16c/0x178 <c01523b4> sys_ioctl+0x48/0x60 <c01029b3> syscall_call+0x7/0xb Code: 97 f0 00 00 00 89 c1 83 c9 01 80 e2 01 0f 44 c1 88 43 14 8b 04 24 59 5b 5e 5f 5d c3 53 89 c1 89 d3 ff 4a 08 0f 94 c0 84 c0 74 2a <8b> 01 8b 10 89 d8 e8 f6 fb ff ff 8b 03 8b 53 04 89 50 04 89 02 EIP: [<c027c3d2>] dm_put_device+0xf/0x3b SS:ESP 0068:c5db3e78 Signed-off-by: NMichal Miroslaw <mirq-linux@rere.qmqm.pl> Acked-by: NAlasdair G Kergon <agk@redhat.com> Cc: <stable@kernel.org> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Edgar Hucek 提交于
Add basic Machine detection to imacfb and some Ducumentation bits for imacfb. Signed-off-by: NEdgar Hucek <hostmaster@ed-soft.at> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 12 8月, 2006 8 次提交
-
-
由 Orjan Friberg 提交于
In my quest to try and figure out why test 14 (control write) doesn't work with my EZ-USB board, I noticed that sometimes testusb reported no error even though the kernel log complained "byte 0 is 0 not 2" etc. Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Jonathan Davies 提交于
Signed-off-by: NJonathan Davies <jjd27@cam.ac.uk> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Norihiko Tomiyama 提交于
I write a patch for ipaq.c. Would you like to add upstream tree ? This patch enables a support of "SHARP W-ZERO3(WS004SH)" and "SHARP W-ZERO3[es](WS007SH)". From: Norihiko Tomiyama <norihiko.tomiyama@ctc-g.co.jp> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Johannes Berg 提交于
appletouch uses urb->transfer_dma after having freed the urb, this shows up only if the system is compiled with slab debugging. This patch fixes it by reordering the free calls. Signed-off-by: NJohannes Berg <johannes@sipsolutions.net> Signed-off-by: NVojtech Pavlik <vojtech@suse.cz> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Yoichi Yuasa 提交于
This patch has removed a unbalanced #endif from ohci-au1xxx.c . Please apply before 2.6.18 release. Error message was: In file included from drivers/usb/host/ohci-hcd.c:909: drivers/usb/host/ohci-au1xxx.c:113:2: #endif without #if Signed-off-by: NYoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 David Kuehling 提交于
This patch (as763) adds an unusual_devs entry for the A-VOX WSX-300ER MP3 player. From: David Kuehling <dvdkhlng@gmx.de> Signed-off-by: NAlan Stern <stern@rowland.harvard.edu> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Dave Jones 提交于
Nothing in the tree references this config option. Signed-off-by: NDave Jones <davej@redhat.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Kristen Carlson Accardi 提交于
Make pciehp build on powerpc Signed-off-by: NKristen Carlson Accardi <kristen.c.accardi@intel.com> Acked-by: NRandy Dunlap <rdunlap@xenotime.net> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 10 8月, 2006 2 次提交
-
-
由 Horst Hummel 提交于
The dasd function dasd_set_uid calls kzalloc while holding the dasd_devmap_lock. Rearrange the code to do the memory allocation outside the lock. Signed-off-by: NHorst Hummel <horst.hummel@de.ibm.com> Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
-
由 Alan Cox 提交于
When the IDE fix for Jmicron went in one piece went walking somewhere (send log shows my end somehow). Without this sometimes you get an oops on boot. Signed-off-by: NAlan Cox <alan@redhat.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 09 8月, 2006 15 次提交
-
-
由 Horst Hummel 提交于
The request queue flush function of the dasd driver has to dequeue the requests first and then call the end request function. Otherwise a kernel bug in ll_rw_block.c might get triggered. Signed-off-by: NHorst Hummel <horst.hummel@de.ibm.com> Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
-
由 Tejun Heo 提交于
SCSI EH locks door if sdev->locked is set. Sometimes door lock command fails continuously (e.g. when medium is not present) and as libata uses EH to acquire sense data, this easily creates a loop where a failed lock door invokes EH and EH issues lock door on completion. This patch clears sdev->locked on door lock failure to break this loop. This problem has been spotted and diagnosed by Unicorn Chang <uchang@tw.ibm.com>. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Keith Owens 提交于
Fix a sata debug print statement that still uses an old variable name. Signed-off-by: NKeith Owens <kaos@ocs.com.au> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Brice Goglin 提交于
Dummy RDMA are always enabled on device startup since commit 9a71db72 (to work around buggy PCIe chipsets which do not implement resending properly). But, we also need to always re-enable them when resuming the device. Signed-off-by: NBrice Goglin <brice@myri.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Yeasah Pell 提交于
Signed-off-by: NYeasah Pell <yeasah@shwide.com> Signed-off-by: NManu Abraham <manu@linuxtv.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Diego Calleja 提交于
In bugzilla #6943, Maxim Britov reported: "I can enable Logitech quickcam support in .config, but it want be compile. I have to add into drivers/media/video/Makefile: obj-$(CONFIG_USB_QUICKCAM_MESSENGER) += usbvideo/" He's right, just enable that driver as module while disabling every other driver that gets into that directory, nothing will get compiled. This patch fixes the Makefile. Signed-off-by: NDiego Calleja <diegocg@gmail.com> Acked-by: NMichael Krufky <mkrufky@linuxtv.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Hans Verkuil 提交于
Without the LNA these tuners perform very poorly (read 'unwatchable') when the signal is weak. Signed-off-by: NHans Verkuil <hverkuil@xs4all.nl> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Hans Verkuil 提交于
Due to a wrong statement order the 'standard' module option didn't work for 'G' model chips. Signed-off-by: NHans Verkuil <hverkuil@xs4all.nl> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Hans Verkuil 提交于
cx25840_read4 assembled the bytes in the wrong order. Signed-off-by: NHans Verkuil <hverkuil@xs4all.nl> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Trent Piepho 提交于
In pwc Kconfig, change 'depends' to 'depends on' In dvb-core Makefile, change '=' to ':=' Signed-off-by: NTrent Piepho <xyzzy@speakeasy.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
Config option typo: -#ifdef CONFIG_V4L1_COMPAT +#ifdef CONFIG_VIDEO_V4L1_COMPAT Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Luc Van Oostenryck 提交于
The compat_ioctl support of the pwc driver was dropped during the last update of the driver. I suppose it was by mistake. If yes here is the patch to restore the support. Signed-off-by: NLuc Van Oostenryck <luc.vanoostenryck@looxix.net> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
Compat32 should be able to handle V4L1 ioctls if the old API support were selected. Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- 08 8月, 2006 3 次提交
-
-
由 Michael Chan 提交于
Fix a subtle race condition between tg3_start_xmit() and tg3_tx() discovered by Herbert Xu <herbert@gondor.apana.org.au>: CPU0 CPU1 tg3_start_xmit() if (tx_ring_full) { tx_lock tg3_tx() if (!netif_queue_stopped) netif_stop_queue() if (!tx_ring_full) update_tx_ring netif_wake_queue() tx_unlock } Even though tx_ring is updated before the if statement in tg3_tx() in program order, it can be re-ordered by the CPU as shown above. This scenario can cause the tx queue to be stopped forever if tg3_tx() has just freed up the entire tx_ring. The possibility of this happening should be very rare though. The following changes are made: 1. Add memory barrier to fix the above race condition. 2. Eliminate the private tx_lock altogether and rely solely on netif_tx_lock. This eliminates one spinlock in tg3_start_xmit() when the ring is full. 3. Because of 2, use netif_tx_lock in tg3_tx() before calling netif_wake_queue(). 4. Change TX_BUFFS_AVAIL to an inline function with a memory barrier. Herbert and David suggested using the memory barrier instead of volatile. 5. Check for the full wake queue condition before getting netif_tx_lock in tg3_tx(). This reduces the number of unnecessary spinlocks when the tx ring is full in a steady-state condition. 6. Update version to 3.65. Signed-off-by: NMichael Chan <mchan@broadcom.com> Acked-by: NHerbert Xu <herbert@gondor.apana.org.au> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Christoph Hellwig 提交于
All caller of netdev_alloc_skb need to assign skb->dev shortly afterwards. Move it into common code. Signed-off-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Martin Schwidefsky 提交于
Remove system device class for xpram. It creates the directory hierarchy under /sys/devices/system/xpram/xpram0. The xpram0 directory is empty and it is always created while xpram1 and following devices are always missing, independent if the devices exist or not. Since the xpram devices are listed in /proc/partitions and /sys/block/ as slram<x> the system device class for xpram is meaningless. Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
-
- 07 8月, 2006 6 次提交
-
-
由 Peter Oberparleiter 提交于
I/O on a CCW device may stall if a channel path to that device is logicaly varied off/on. A user I/O interrupt can get misinterpreted as interrupt for an internal path verification operation due to a missing check and is therefore never reported to the device driver. Correct check for pending interruptions before starting path verification. Signed-off-by: NPeter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
-
由 Cornelia Huck 提交于
Do a retry of read device characteristics / read configuration data when a deferred condition code 1 is encountered in ccw_device_wake_up(). Signed-off-by: NCornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
-
由 Heiko Carstens 提交于
Without this patch register_tape_dev() will always fail, but might return a value that is not an error number. This will lead to accesses to already freed memory areas... Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
-
由 Pierre Ossman 提交于
Another misuse of the global 'io' variable instead of the local 'base'. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Pierre Ossman 提交于
There were some confusion about base I/O variables in the wbsd driver. Seems like things have been working on shear luck so far. The global 'io' variable (used when manually configuring the resources) was used instead of the local 'base' variable. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
SCSI folk forgot to fix up all the uses of 'buffer' before deleting this struct member. Do it for them to rescue the resulting build failures. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-