lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 23 May 2009 15:11:42 +0800 From: yanh <yanh@...ote.com> To: Bartlomiej Zolnierkiewicz <bzolnier@...il.com> Cc: wuzhangjin@...il.com, linux-mips@...ux-mips.org, Ralf Baechle <ralf@...ux-mips.org>, IDE/ATA development list <linux-ide@...r.kernel.org>, Linux Kernel <linux-kernel@...r.kernel.org>, linux-scsi <linux-scsi@...r.kernel.org>, Philippe Vachon <philippe@...pig.ca>, Zhang Le <r0bertz@...too.org>, Zhang Fuxin <zhangfx@...ote.com>, Arnaud Patard <apatard@...driva.com>, loongson-dev@...glegroups.com, gnewsense-dev@...gnu.org, Nicholas Mc Guire <hofrat@...r.at>, Liu Junliang <liujl@...ote.com>, Erwan Lerale <erwan@...scow.com> Subject: Re: [loongson-PATCH-v1 24/27] fixup for FUJITSU disk 在 2009-05-22五的 20:32 +0200,Bartlomiej Zolnierkiewicz写道: > On Thursday 21 May 2009 00:12:46 wuzhangjin@...il.com wrote: > > From: Wu Zhangjin <wuzhangjin@...il.com> > > > > This is originally from the to-mips branch from > > http://dev.lemote.com/code/linux_loongson > > Sadly, the patch description lacks all the important information. > > What is the original problem that this fixup tries to address? > > Is it limited to amd74xx controllers? In loongson2f yeeloong machines, the ide controller is AMD cs5536, or say amd74xx, and the hard drives is Fujistu. While debuging the hard disk suspned and resume, the ide irq can not be cleared. I guess this is a fake interrupt, hence the clear irq action can not be finished. This patch is to fix this issue. Maybe other controller and drives also have this issue, but I am not sure. Thanks for your reply. > > [ We are generalizing quirk_drives handling currently... ] > > > Signed-off-by: Wu Zhangjin <wuzhangjin@...il.com> > > --- > > drivers/ide/amd74xx.c | 19 +++++++++++++++++++ > > 1 files changed, 19 insertions(+), 0 deletions(-) > > > > diff --git a/drivers/ide/amd74xx.c b/drivers/ide/amd74xx.c > > index 77267c8..8f488b8 100644 > > --- a/drivers/ide/amd74xx.c > > +++ b/drivers/ide/amd74xx.c > > @@ -23,6 +23,11 @@ > > > > #define DRV_NAME "amd74xx" > > > > +static const char *am74xx_quirk_drives[] = { > > + "FUJITSU MHZ2160BH G2", > > + NULL > > +}; > > + > > enum { > > AMD_IDE_CONFIG = 0x41, > > AMD_CABLE_DETECT = 0x42, > > @@ -112,6 +117,19 @@ static void amd_set_pio_mode(ide_drive_t *drive, const u8 pio) > > amd_set_drive(drive, XFER_PIO_0 + pio); > > } > > > > +static void amd_quirkproc(ide_drive_t *drive) > > +{ > > + const char **list, *m = (char *)&drive->id[ATA_ID_PROD]; > > + > > + for (list = am74xx_quirk_drives; *list != NULL; list++) > > + if (strstr(m, *list) != NULL) { > > + drive->quirk_list = 2; > > + return; > > + } > > + > > + drive->quirk_list = 0; > > +} > > + > > static void amd7409_cable_detect(struct pci_dev *dev) > > { > > /* no host side cable detection */ > > @@ -194,6 +212,7 @@ static void __devinit init_hwif_amd74xx(ide_hwif_t *hwif) > > static const struct ide_port_ops amd_port_ops = { > > .set_pio_mode = amd_set_pio_mode, > > .set_dma_mode = amd_set_drive, > > + .quirkproc = amd_quirkproc, > > .cable_detect = amd_cable_detect, > > }; > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists