I have run chkdisk as can be seen in https://answers.launchpad.net/ubuntu/+source/bbswitch/+question/280808. There are some errors from smartctl, but I can't really tell if they are the cause of the kernel module problem. Output from smartctl -a /dev/sda: smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.19.0-43-generic] (local build) Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: Seagate Momentus 7200.5 Device Model: ST9750420AS Serial Number: 5WS2N0W6 LU WWN Device Id: 5 000c50 04447820c Firmware Version: 0002SDM1 User Capacity: 750 156 374 016 bytes [750 GB] Sector Sizes: 512 bytes logical, 4096 bytes physical Rotation Rate: 7200 rpm Device is: In smartctl database [for details use: -P show] ATA Version is: ATA8-ACS T13/1699-D revision 4 SATA Version is: SATA 2.6, 3.0 Gb/s Local Time is: Thu Jan 21 19:31:36 2016 CET SMART support is: Available - device has SMART capability. SMART support is: Enabled === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED General SMART Values: Offline data collection status: (0x00) Offline data collection activity was never started. Auto Offline Data Collection: Disabled. Self-test execution status: ( 0) The previous self-test routine completed without error or no self-test has ever been run. Total time to complete Offline data collection: ( 0) seconds. Offline data collection capabilities: (0x73) SMART execute Offline immediate. Auto Offline data collection on/off support. Suspend Offline collection upon new command. No Offline surface scan supported. Self-test supported. Conveyance Self-test supported. Selective Self-test supported. SMART capabilities: (0x0003) Saves SMART data before entering power-saving mode. Supports SMART auto save timer. Error logging capability: (0x01) Error logging supported. General Purpose Logging supported. Short self-test routine recommended polling time: ( 2) minutes. Extended self-test routine recommended polling time: ( 149) minutes. Conveyance self-test routine recommended polling time: ( 3) minutes. SCT capabilities: (0x103f) SCT Status supported. SCT Error Recovery Control supported. SCT Feature Control supported. SCT Data Table supported. SMART Attributes Data Structure revision number: 10 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000f 094 092 006 Pre-fail Always - 173609489 3 Spin_Up_Time 0x0003 097 097 085 Pre-fail Always - 0 4 Start_Stop_Count 0x0032 093 093 020 Old_age Always - 7711 5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0 7 Seek_Error_Rate 0x000f 076 060 030 Pre-fail Always - 42050651 9 Power_On_Hours 0x0032 084 084 000 Old_age Always - 14382 10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0 12 Power_Cycle_Count 0x0032 098 098 020 Old_age Always - 2663 184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0 187 Reported_Uncorrect 0x0032 001 001 000 Old_age Always - 642 188 Command_Timeout 0x0032 100 096 000 Old_age Always - 76 189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0 190 Airflow_Temperature_Cel 0x0022 074 048 045 Old_age Always - 26 (Min/Max 23/26) 191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 112 192 Power-Off_Retract_Count 0x0032 097 097 000 Old_age Always - 6390 193 Load_Cycle_Count 0x0032 001 001 000 Old_age Always - 611529 194 Temperature_Celsius 0x0022 026 052 000 Old_age Always - 26 (0 12 0 0 0) 195 Hardware_ECC_Recovered 0x001a 118 099 000 Old_age Always - 173609489 197 Current_Pending_Sector 0x0012 100 099 000 Old_age Always - 8 198 Offline_Uncorrectable 0x0010 100 099 000 Old_age Offline - 8 199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 1 240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 191340793048532 241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 1154696376 242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 84140169 SMART Error Log Version: 1 ATA Error Count: 642 (device log contains only the most recent five errors) CR = Command Register [HEX] FR = Features Register [HEX] SC = Sector Count Register [HEX] SN = Sector Number Register [HEX] CL = Cylinder Low Register [HEX] CH = Cylinder High Register [HEX] DH = Device/Head Register [HEX] DC = Device Command Register [HEX] ER = Error register [HEX] ST = Status register [HEX] Powered_Up_Time is measured from power on, and printed as DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes, SS=sec, and sss=millisec. It "wraps" after 49.710 days. Error 642 occurred at disk power-on lifetime: 14354 hours (598 days + 2 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 40 51 00 a8 95 07 00 Error: UNC at LBA = 0x000795a8 = 497064 Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- c8 00 08 a8 95 07 e0 00 00:20:56.291 READ DMA 25 00 08 ff ff ff ef 00 00:20:56.221 READ DMA EXT c8 00 00 70 55 5e e0 00 00:20:56.161 READ DMA c8 00 40 c0 18 28 e0 00 00:20:56.110 READ DMA c8 00 40 00 1a 28 e0 00 00:20:56.109 READ DMA Error 641 occurred at disk power-on lifetime: 14354 hours (598 days + 2 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 40 51 00 a8 95 07 00 Error: UNC at LBA = 0x000795a8 = 497064 Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- c8 00 08 a8 95 07 e0 00 00:20:53.349 READ DMA c8 00 40 00 11 28 e0 00 00:20:53.347 READ DMA 25 00 80 80 11 28 e0 00 00:20:53.326 READ DMA EXT 25 00 08 ff ff ff ef 00 00:20:53.312 READ DMA EXT 35 00 98 ff ff ff ef 00 00:20:53.310 WRITE DMA EXT Error 640 occurred at disk power-on lifetime: 14354 hours (598 days + 2 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 40 51 00 a8 95 07 00 Error: UNC at LBA = 0x000795a8 = 497064 Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- 60 00 08 ff ff ff 4f 00 00:20:49.971 READ FPDMA QUEUED 60 00 80 80 11 28 40 00 00:20:49.970 READ FPDMA QUEUED 60 00 40 00 11 28 40 00 00:20:49.970 READ FPDMA QUEUED 60 00 08 a8 95 07 40 00 00:20:49.942 READ FPDMA QUEUED 60 00 00 00 10 28 40 00 00:20:49.941 READ FPDMA QUEUED Error 639 occurred at disk power-on lifetime: 14354 hours (598 days + 2 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 40 51 00 a8 95 07 00 Error: UNC at LBA = 0x000795a8 = 497064 Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- 60 00 08 a8 95 07 40 00 00:20:46.822 READ FPDMA QUEUED ea 00 00 00 00 00 a0 00 00:20:46.571 FLUSH CACHE EXT 61 00 08 ff ff ff 4f 00 00:20:46.570 WRITE FPDMA QUEUED ea 00 00 00 00 00 a0 00 00:20:46.530 FLUSH CACHE EXT 61 00 60 ff ff ff 4f 00 00:20:46.529 WRITE FPDMA QUEUED Error 638 occurred at disk power-on lifetime: 14354 hours (598 days + 2 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 40 51 00 a8 95 07 00 Error: UNC at LBA = 0x000795a8 = 497064 Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- 60 00 08 a8 95 07 40 00 00:20:43.711 READ FPDMA QUEUED 61 00 40 ff ff ff 4f 00 00:20:43.710 WRITE FPDMA QUEUED 61 00 d0 ff ff ff 4f 00 00:20:43.710 WRITE FPDMA QUEUED 27 00 00 00 00 00 e0 00 00:20:43.709 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3] ec 00 00 00 00 00 a0 00 00:20:43.709 IDENTIFY DEVICE SMART Self-test log structure revision number 1 No self-tests have been logged. [To run self-tests, use: smartctl -t] SMART Selective self-test log data structure revision number 1 SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS 1 0 0 Not_testing 2 0 0 Not_testing 3 0 0 Not_testing 4 0 0 Not_testing 5 0 0 Not_testing Selective self-test flags (0x0): After scanning selected spans, do NOT read-scan remainder of disk. If Selective self-test is pending on power-up, resume after 0 minute delay.