Thanks David for review comments!!

Please find my reply in-lined

> -----Original Message-----
> From: David Laight [mailto:david.lai...@aculab.com]
> Sent: Friday, February 18, 2011 2:12 PM
> To: Kushwaha Prabhakar-B32579; linuxppc-dev@lists.ozlabs.org
> Cc: Kalra Ashish-B00888
> Subject: RE: [PATCH] driver/FSL SATA:Fix wrong Device Error Register
> usage
> 
> 
> > +                   if ((ffs(dereg)-1) < ap->nr_pmp_links) {
> > +                           /* array start from 0 */
> > +                           link = &ap->pmp_link[ffs(dereg)-1];
> 
> I'd only call ffs() once - it could be a slow library function.

This function is called during error handling. So it won't matter. 
Anyway, I will update the patch for singe usage of ffs(). 

> Any comment should note that ffs() returns 0 when no bits are set -
> rather than anything about array indexes.
> 
sata_fsl_error_intr() is called during device error.
The mentioned scenario will never comes. It can be observed via code:-
        if (cereg) {   --> cereg is set on command error. Means there is at 
least 1 device present.
                abort = 1;
                ---
                ---
                ---
                /* find out the offending link and qc */
                if (ap->nr_pmp_links) {  --> if Port multiplier 
                        ---
                        ---
                        if ((ffs(dereg)-1) < ap->nr_pmp_links) {
                ---
                ---
                } else {  -->  Single device
                        dereg = ioread32(hcr_base + DE);
                        iowrite32(dereg, hcr_base + DE);
                        iowrite32(cereg, hcr_base + CE);


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to