2.5.62: /proc/ide/cs5520 returns incomplete data [5/17]
PATCH 1/1 2.5.62: /proc/ide/cs5520 returns incomplete data [5/17]
This patch fixes the incomplete data return problem of /proc/ide/cs5520. When the number of consecutive read bytes are smaller than the total data in cs5520_get_info(), the second read() returns 0.
drivers/ide/pci/cs5520.c +5 -1
@@ -65,6 +65,7 @@ {char *p = buffer;unsigned long bmiba =pci_resource_start (bmide_dev,2 ); +int len;u8 c0 =0 , c1 =0 ;u16 reg16;u32 reg32;
@@ -94,7 +95,10 @@pci_read_config_dword (bmide_dev,0x68 , ®32); p +=sprintf (p,"16bit Secondary: %08x\n" , reg32); - return p-buffer; + len = (p - buffer) - offset; + *addr = buffer + offset; + + return len > count ? count : len; }#endif