2.5.62: /proc/ide/triflex returns incomplete data [17/17]
PATCH 1/1 2.5.62: /proc/ide/triflex returns incomplete data [17/17]
This patch fixes the incomplete data return problem of /proc/ide/triflex. When the number of consecutive read bytes are smaller than the total data in triflex_get_info(), the second read() returns 0.
drivers/ide/pci/triflex.c +5 -1
@@ -49,6 +49,7 @@static int triflex_get_info (char *buf,char **addr,off_t offset,int count) {char *p = buf; +int len;struct pci_dev *dev = triflex_dev;unsigned long bibma =pci_resource_start (dev,4 );
@@ -85,8 +86,11 @@ p +=sprintf (p,"DMA\n" ); p +=sprintf (p,"PIO\n" ); + + len = (p - buf) - offset; + *addr = buf + offset; -return p-buf; +return len > count ? count : len; }static int triflex_tune_chipset (ide_drive_t *drive,u8 xferspeed)