fdasd_check_volume calls vtoc_set_freespace with anc->geo.heads argument
fdasd_check_volume is called from dasd_probe
which before calling fdasd_check_volume called fdasd_get_geometry, which did iocl call, and filled the geometry with:
Heads 0 Secotrs 0 Cylinders 1023 Start 4397693661968
thus in vtoc_set_freespace we end up with division by zero and blow up
fdasd_check_volume calls vtoc_set_freespace with anc->geo.heads argument
fdasd_check_volume is called from dasd_probe
which before calling fdasd_check_volume called fdasd_get_geometry, which did iocl call, and filled the geometry with:
Heads 0
Secotrs 0
Cylinders 1023
Start 4397693661968
thus in vtoc_set_freespace we end up with division by zero and blow up