- 14 Jul, 2004 40 commits
-
-
Bartlomiej Zolnierkiewicz authored
drive_is_ready() reads STATUS register if CONFIG_IDEPCI_SHARE_IRQ is not defined and ALTSTATUS register if it is defined. Therefore drive_is_ready() in pre_task_mulout_intr() only makes sense if we can't trust STATUS register (because we call ide_wait_stat() which reads STATUS register earlier). Remove this "workaround" for now as it is not present in ide-disk.c and whole multi PIO-out code (CONFIG_IDE_TASKFILE_IO=n) was buggy before. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Bartlomiej Zolnierkiewicz authored
disable_irq_nosync() in ide-io.c:ide_do_request() protects pre_task_out_intr() from racing with the task_out_intr(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Bartlomiej Zolnierkiewicz authored
We shouldn't ever get there if drive is busy and we can't start transfer in this case. ide-disk.c:read_intr() also doesn't check for BUSY_STAT bit. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Bartlomiej Zolnierkiewicz authored
We shouldn't ever get into ->handler() if drive is busy so just call ->error() unconditionally if status check fails. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Bartlomiej Zolnierkiewicz authored
Setup handler and output first data block directly from ->prehandler() instead of calling ->handler(). The only change in functionality is that we no longer check DRIVE_READY status bits (there is no need to do it). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Bartlomiej Zolnierkiewicz authored
- in task_out_intr() fix off-by-1 bug and (stat & DRQ_STAT) check, previously "if" was always true for rq->current_nr_sectors == 1 - fail request if DRQ_STAT is not set and rq->current_nr_sectors != 0 (instead of setting handler and waiting for the next IRQ) or if DRQ_STAT is set but !rq->current_nr_sectors (in task_mulout_intr() this was OK) - in task_mulout_intr() check also DRIVE_READY and WRERR_STAT status bits Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
bk://kernel.bkbits.net/jgarzik/libata-upstream-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Jeff Garzik authored
The hardware vendor, in their infinite wisdom, make the combined mode configuration register different between ICH5 and ICH6. Take this into account.
-
Sergio Gelato authored
Obvious bug. Fixes highmem oops.
-
http://jfs.bkbits.net/linux-2.5Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Jeff Garzik authored
into pobox.com:/spare/repo/net-drivers-2.6
-
Jeff Garzik authored
into pobox.com:/spare/repo/net-drivers-2.6
-
Janice M. Girouard authored
-
Guennadi Liakhovetski authored
Bugzilla #2905
-
Jeff Garzik authored
-
Anton Blanchard authored
During receive processing, the tg3 card updates rx_producer (the hardware position in the receive ring) and the opaque cookie. Due to PCI rules the stores happen in order. However the cpu may reorder the reads. In these sort of cases there is usually a data dependency between reading the index and looking up the data (since we use the index to load the data). I think all cpus except alpha guarantee the reads happen in order in this case. However in this particular case we load hw_idx, compare it to sw_idx and then use sw_idx to locate the opaque cookie. There is no data dependency in this case. We need a read memory barrier between the read of rx_producer and the opaque cookie to enforce ordering. Thanks to Olof Johansson, Michael Chan and Broadcom for their assistance in finding this bug. Signed-off-by: Anton Blanchard <anton@samba.org>
-
Andrew Morton authored
From: Bill Nottingham <notting@redhat.com> airo creates /proc/driver/aironet/<device name> on device activation. However, the device can be renamed - then on teardown it tries to remove the wrong directory. The removal of /proc/driver/aironet then runs afoul of the BUG_ON() in remove_proc_entry. This fixes it by keeping a copy of the name of the directory it created. (It doesn't actually solve the problem of the stats directory still being /proc/driver/aironet/eth0 when you rename the device to, say, 'joe'. But that patch would be a little less trivial.) Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Margit Schubert-While authored
2004-07-12 Margit Schubert-While <margitsw@t-online.de> * The OID type for BSSID was incorrectly set to type SSID. It should be type RAW. This lead to interesting reporting by "iwpriv ethX g_bssid". (Which caused garbage output and possibly an out of bound) * Be ultra-cautious in reporting SSID by changing the "%s" to "%.*s" and passing the length. (Prompted by the false type above, whereby length = 0 and a %s on a garbage field)
-
Jeff Garzik authored
into pobox.com:/spare/repo/net-drivers-2.6
-
Jeff Garzik authored
into pobox.com:/spare/repo/net-drivers-2.6
-
Jeff Garzik authored
into pobox.com:/spare/repo/net-drivers-2.6
-
Jeff Garzik authored
It's tulip driver, and tulip driver performs better than dmfe (yet some distro installers pick this driver to use). Requested by ALi.
-
Rusty Russell authored
From: a.othieno@bluewin.ch (Arthur Othieno)
-
Pavel Roskin authored
Here it is. The patch fixes all compile errors and warnings in pci-skeleton.c. The "debug" parameter lacks corresponding variable, so I removed it to avoid a warning on module load. Obsolete pci_power_on() and pci_power_off() have been replaced with the new code using pci_set_power_state(), pci_save_state() and pci_restore_state(). The driver has been tested by compiling it as module and as part of the kernel.
-
bk://linux.bkbits.net/linux-2.5Dave Kleikamp authored
into hostme.bitkeeper.com:/repos/j/jfs/linux-2.5
-
Mika Kukkonen authored
Using "-W" found a few places that should probably use signed variables since they can contain (and check for) negative error values.
-
Jan-Benedict Glaw authored
While reading code, I found this buglet. If the TIOCGWINSZ fails, mconf.c assumes 24/80 as screen size, without honoring the LINES and COLUMNS environment variables. This is the shorter and IMHO more correct version. Signed-off-by: Jan-Benedict Glaw <jbglaw@lug-owl.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Alexander Viro authored
mcdx has different IRQ numbers for all drives; irq handler needs a pointer to structure describing the drive in question. However, instead of passing such pointer at request_irq() time and having it passed to mcdx_intr() for free, mcdx.c sticks the pointer in question into an array indexed by IRQ number and has mcdx_intr() go look it up there. Cleaned up, array killed.
-
Alexander Viro authored
Trivial annotations + typo fix in _snd_ioctl32_hwdep_dsp_image() (we want to copy 32bit structure from userland, convert it to native one and do normal ioctl on it; see the first changed line below for what's really happening...)
-
Alexander Viro authored
Missing '=' in C99 initializer
-
Alexander Viro authored
-
Alexander Viro authored
-
Alexander Viro authored
Usual "inline used before definition" fixes in nsp32.c and sg.c
-
Alexander Viro authored
Almost all are trivial, aacraid/linit.c annotations had caught a bug - copy_from_user() where copy_in_user() should've been.
-
Alexander Viro authored
Extraction of int from pointer is slightly broken in several places.
-
Alexander Viro authored
Casts from __user to address-space-agnostic in amd64 and i386 made explicit (__force added; in these places we pass userland pointer to arch-specific code that handles kernel and userland pointers the same way). csum_partial_copy_*() annotated properly
-
Alexander Viro authored
this basically repeats the stuff done to fs/binfmt_aout.c for amd64 and sparc64 aout32.
-
Alexander Viro authored
(no, it still doesn't fix sparc32-smp - just partial compile fixes ;-/)
-
Alexander Viro authored
We have a fun situation with read_descriptor_t - all its instances end up passed to some actor; these actors use desc->buf as their private data; there are 5 of them and they expect resp: struct lo_read_data * struct svc_rqst * struct file * struct rpc_xprt * char __user * IOW, there is no type safety whatsoever; the field is essentially untyped, we rely on the fact that actor is chosen by the same code that sets ->buf and expect it to put something of the right type there. Right now desc->buf is declared as char __user *. Moreover, the last argument of ->sendfile() (what should be stored in ->buf) is void __user *, even though it's actually _never_ a userland pointer. If nothing else, ->sendfile() should take void * instead; that alone removes a bunch of bogus warnings. I went further and replaced desc->buf with a union of void * and char __user *.
-
Bjorn Helgaas authored
Rename PCDP_TABLE_GUID back to HCDP_TABLE_GUID to get the file to compile again. This change is against current 2.6 BK and is under CONFIG_IA64_EARLY_PRINTK_UART. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-