2.5.62: /proc/ide/sc1200 returns incomplete data [12/17]
PATCH 1/1 2.5.62: /proc/ide/sc1200 returns incomplete data [12/17]
This patch fixes the incomplete data return problem of /proc/ide/sc1200. When the number of consecutive read bytes are smaller than the total data in sc1200_get_info(), the second read() returns 0.
drivers/ide/pci/sc1200.c +5 -1
@@ -84,6 +84,7 @@ {char *p = buffer;unsigned long bibma =pci_resource_start (bmide_dev,4 ); +int len;u8 c0 =0 , c1 =0 ;/*
@@ -108,7 +109,10 @@ p +=sprintf (p,"DMA\n" ); p +=sprintf (p,"PIO\n" ); - return p-buffer; + len = (p - buffer) - offset; + *addr = buffer + offset; + + return len > count ? count : len; }#endif /* DISPLAY_SC1200_TIMINGS && CONFIG_PROC_FS */