From: Stan Bubrouski <stan@ccs.neu.edu>
To: Linux Kernel Development <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 355] Mac ADB IOP fix
Date: Fri, 02 Jan 2004 01:38:57 -0500 [thread overview]
Message-ID: <1073025537.1597.0.camel@duergar> (raw)
In-Reply-To: <200401012001.i01K1uWh031775@callisto.of.borg>
On Thu, 2004-01-01 at 15:01, Geert Uytterhoeven wrote:
> Mac ADB IOP: Fix improperly initialized request struct in the reset code,
> causing a bogus pointer (from Matthias Urlichs)
>
> --- linux-2.6.0/drivers/macintosh/adb-iop.c Thu Jan 2 12:54:27 2003
> +++ linux-m68k-2.6.0/drivers/macintosh/adb-iop.c Mon Oct 20 21:45:56 2003
> @@ -105,18 +105,19 @@
> struct adb_iopmsg *amsg = (struct adb_iopmsg *) msg->message;
> struct adb_request *req;
> uint flags;
> +#ifdef DEBUG_ADB_IOP
> + int i;
> +#endif
>
Why not move this down into the ifdef below? 2 extra lines aren't
needed.
-sb
> local_irq_save(flags);
>
> req = current_req;
>
> #ifdef DEBUG_ADB_IOP
> - printk("adb_iop_listen: rcvd packet, %d bytes: %02X %02X",
> + printk("adb_iop_listen %p: rcvd packet, %d bytes: %02X %02X", req,
> (uint) amsg->count + 2, (uint) amsg->flags, (uint) amsg->cmd);
> - i = 0;
> - while (i < amsg->count) {
> - printk(" %02X", (uint) amsg->data[i++]);
> - }
> + for (i = 0; i < amsg->count; i++)
> + printk(" %02X", (uint) amsg->data[i]);
> printk("\n");
> #endif
>
> @@ -134,7 +135,7 @@
> adb_iop_end_req(req, idle);
> }
> } else {
> - /* TODO: is it possible for more tha one chunk of data */
> + /* TODO: is it possible for more than one chunk of data */
> /* to arrive before the timeout? If so we need to */
> /* use reply_ptr here like the other drivers do. */
> if ((adb_iop_state == awaiting_reply) &&
> @@ -163,6 +164,9 @@
> unsigned long flags;
> struct adb_request *req;
> struct adb_iopmsg amsg;
> +#ifdef DEBUG_ADB_IOP
> + int i;
> +#endif
>
> /* get the packet to send */
> req = current_req;
> @@ -171,7 +175,7 @@
> local_irq_save(flags);
>
> #ifdef DEBUG_ADB_IOP
> - printk("adb_iop_start: sending packet, %d bytes:", req->nbytes);
> + printk("adb_iop_start %p: sending packet, %d bytes:", req, req->nbytes);
> for (i = 0 ; i < req->nbytes ; i++)
> printk(" %02X", (uint) req->data[i]);
> printk("\n");
> @@ -267,13 +271,17 @@
>
> int adb_iop_reset_bus(void)
> {
> - struct adb_request req;
> + struct adb_request req = {
> + .reply_expected = 0,
> + .nbytes = 2,
> + .data = { ADB_PACKET, 0 },
> + };
>
> - req.reply_expected = 0;
> - req.nbytes = 2;
> - req.data[0] = ADB_PACKET;
> - req.data[1] = 0; /* RESET */
> adb_iop_write(&req);
> - while (!req.complete) adb_iop_poll();
> + while (!req.complete) {
> + adb_iop_poll();
> + schedule();
> + }
> +
> return 0;
> }
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
next prev parent reply other threads:[~2004-01-02 6:39 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-01 20:01 Geert Uytterhoeven
2004-01-02 6:38 ` Stan Bubrouski [this message]
2004-01-02 21:47 ` Geert Uytterhoeven
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=1073025537.1597.0.camel@duergar \
--to=stan@ccs.neu.edu \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®