From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: Harvey Harrison <harvey.harrison@gmail.com>
Cc: linux-ide <linux-ide@vger.kernel.org>,
Borislav Petkov <petkovbb@googlemail.com>
Subject: Re: [PATCH 1/2] ide: ide-tape.c sparse annotations and unaligned access removal
Date: Wed, 16 Jul 2008 19:43:53 +0200 [thread overview]
Message-ID: <200807161943.54033.bzolnier@gmail.com> (raw)
In-Reply-To: <1216152845.6610.18.camel@brick>
On Tuesday 15 July 2008, Harvey Harrison wrote:
> If this is actually unaligned the access of speed/max_speed above
> is already broken and needs a get_unaligned. Otherwise it is
> aligned and they can be removed.
>
> Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
> ---
> Bart, if this truly should be unaligned, let me know and I'll send you
> a patch fixing the speed/maxspeed issue.
I applied the patch as it is for now as I don't see a reason to
use unaligned access there but I could have forgotten some details
(added Borislav to cc:).
I've also noticed that there are some put_unaligned()-s left in
idetape_get_mode_sense_results(), is this intended?
> drivers/ide/ide-tape.c | 16 ++++++++--------
> 1 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
> index 34fc925..40b09b2 100644
> --- a/drivers/ide/ide-tape.c
> +++ b/drivers/ide/ide-tape.c
> @@ -655,10 +655,10 @@ static void ide_tape_callback(ide_drive_t *drive)
> uptodate = 0;
> } else {
> debug_log(DBG_SENSE, "Block Location - %u\n",
> - be32_to_cpu(*(u32 *)&readpos[4]));
> + be32_to_cpup((__be32 *)&readpos[4]));
>
> tape->partition = readpos[1];
> - tape->first_frame = be32_to_cpu(*(u32 *)&readpos[4]);
> + tape->first_frame = be32_to_cpup((__be32 *)&readpos[4]);
> set_bit(IDE_DFLAG_ADDRESS_VALID, &drive->dev_flags);
> }
> }
> @@ -2381,13 +2381,13 @@ static void idetape_get_mode_sense_results(ide_drive_t *drive)
> caps = pc.buf + 4 + pc.buf[3];
>
> /* convert to host order and save for later use */
> - speed = be16_to_cpu(*(u16 *)&caps[14]);
> - max_speed = be16_to_cpu(*(u16 *)&caps[8]);
> + speed = be16_to_cpup((__be16 *)&caps[14]);
> + max_speed = be16_to_cpup((__be16 *)&caps[8]);
>
> - put_unaligned(max_speed, (u16 *)&caps[8]);
> - put_unaligned(be16_to_cpu(*(u16 *)&caps[12]), (u16 *)&caps[12]);
> - put_unaligned(speed, (u16 *)&caps[14]);
> - put_unaligned(be16_to_cpu(*(u16 *)&caps[16]), (u16 *)&caps[16]);
> + *(u16 *)&caps[8] = max_speed;
> + *(u16 *)&caps[12] = be16_to_cpup((__be16 *)&caps[12]);
> + *(u16 *)&caps[14] = speed;
> + *(u16 *)&caps[16] = be16_to_cpup((__be16 *)&caps[16]);
>
> if (!speed) {
> printk(KERN_INFO "ide-tape: %s: invalid tape speed "
next prev parent reply other threads:[~2008-07-16 19:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-15 20:14 [PATCH 1/2] ide: ide-tape.c sparse annotations and unaligned access removal Harvey Harrison
2008-07-16 17:43 ` Bartlomiej Zolnierkiewicz [this message]
2008-07-16 19:28 ` Harvey Harrison
2008-07-21 18:40 ` Bartlomiej Zolnierkiewicz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200807161943.54033.bzolnier@gmail.com \
--to=bzolnier@gmail.com \
--cc=harvey.harrison@gmail.com \
--cc=linux-ide@vger.kernel.org \
--cc=petkovbb@googlemail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.