Thanks for the response, David! Correct the print for the mask came after those 2 lines of code. Here is the snippet:
/* unconditionally mask off the highest bit */ bit = fls(mask) - 1; mask &= ~(1 << bit); /* Debug added for lp1783906: */ dump_stack(); pr_info("***-> Function calling sata_down_spd_limit: %pf", __builtin_return_address(0)); printk(KERN_DEBUG "***-> Value of spd_limit: %u\n", spd_limit); printk(KERN_DEBUG "***-> Value of sstatus: %u\n", sstatus); printk(KERN_DEBUG "***-> Value of spd: %u\n", spd); printk(KERN_DEBUG "***-> Value of mask: %u\n", mask); /* * Mask off all speeds higher than or equal to the current one. At * this point, if current SPD is not available and we previously * recorded the link speed from SStatus, the driver has already * masked off the highest bit so mask should already be 1 or 0. * Otherwise, we should not force 1.5Gbps on a link where we have * not previously recorded speed from SStatus. Just return in this * case. */ if (spd > 1) mask &= (1 << (spd - 1)) - 1; -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1783906 Title: Linux 4.15 and onwards fails to initialize some hard drives To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1783906/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs