Commit Graph

3445 Commits

Author SHA1 Message Date
James.Smart@Emulex.Com
5eb95af086 [SCSI] lpfc: Add completion handler to the abort iocbs
Add completion handler to the abort iocbs to close a hole where we
could reuse an iotag.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-07-02 18:57:22 -05:00
James.Smart@Emulex.Com
1f679cafd2 [SCSI] lpfc: Fix LS_RJT never sent by lpfc_els_unsol_event()
lpfc_els_unsol_event() checks rjt_err to determine is LS_RJT should be
sent.  However, rjt_err was set to LSEXP_NOTHING_ELSE (which is 0) in
cases where an LS_RJT should be sent, so rjt_err was never true.
Change lpfc_els_unsol_event() to set rjt_err to 1 when LS_RJT should
be sent.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-07-02 18:55:23 -05:00
James.Smart@Emulex.Com
06325e7459 [SCSI] lpfc: Add LP6000 PCI ID
Fix driver not seeing LP6000.  Fix: add PCI id to the pci_device_id
table and a short description for the HBA in get_hba_model_desc().
Also add a default clause to the switch statement that parses the
various PCI ID's.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-07-02 17:18:52 -05:00
James.Smart@Emulex.Com
564b296083 [SCSI] lpfc: Set max_sectors in host template
Add max_sectors to the driver host template and initialize it with
0xFFFF since the driver has no limitations on the size a transfer
contained by a scsi command and that fits within the sg_tablesize
provisioned by the driver.  This fixes a performance issue seen in
some configurations.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-07-02 17:07:57 -05:00
James.Smart@Emulex.Com
87f6eaffd7 [SCSI] lpfc: Fix error loading on sparc
Bug reported via SourceForge - lpfc does not load on sparc.  The lpfc
driver must byteswap all FCP IOCBs to recover the data into cpu native
format.

Also correct issue of "iotag not found" messages

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-07-02 17:07:03 -05:00
James.Smart@Emulex.Com
db468d108a [SCSI] lpfc: Fixes in mbox_timeout_handler
Analysis:

Timeout of READ_SPARM64 causes call to lpfc_mbox_timeout_handler which
reads psli->mbox_active to determine the timeout mbox.  Timeout
handler then NULL's psli->mbox_active and calls
lpfc_mbx_cmpl_read_sparam(), which on timeout condition, calls
link_down().  link_down() now calls disc_done() which calls
mbox_timeout_hander() again since WORKER_MBOX_TMO is still set, which
goes back to read psli->mbox_active which is already NULL'ed.

Remove redundant if statement in lpfc_mbox_timeout_handler.  pmbox is
assigned psli->mbox_active so there is no need to check if it actually
equals psli->mbox_active.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-07-02 17:05:32 -05:00
James.Smart@Emulex.Com
6e8215e488 [SCSI] Fix issue where all hosts log nodev message for other initiators
Fix issue where all hosts connected to SAN get spammed with nodev
message when other initiators go away.  Display nodev message only
when FC targets go away.  However this behavior will be overridden if
LOG_DISCOVERY is set.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-07-02 17:04:06 -05:00
James.Smart@Emulex.Com
4cc2da1d84 [SCSI] lpfc: hgp/pgp cleanups
From: Christoph Hellwig <hch@lst.de>:

 - rename PGP/HPH to lpfc_pgp/lpfc_hgp
 - use __le32 types for the members to start fixing sparse -Wbitwise
   issues
 - remove lpfc_sli.MBhostaddr, we can always use the pointer from
   SLI2_DESC directly

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-07-02 16:58:16 -05:00
Moore, Eric Dean
6e3815ba3a [SCSI] - mptfusion - convert to new change_queue_depth API
Convert driver to use new change_queue_depth API.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>

Fixed up rejections and
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-07-01 08:56:31 -05:00
James Bottomley
c0df28cfe0 [SCSI] aic7xxx: correct target valid check in aic7xxx_proc.c
From: 	Andy Whitcroft <apw@shadowen.org>

Updated to remove the bogus translated target check.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-06-26 12:22:30 -05:00
Christoph Hellwig
937abeaadf [SCSI] use list_for_each_entry_safe in scsi_error.c
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-06-26 12:20:42 -05:00
Christoph Hellwig
3111b0d164 [SCSI] remove scsi_eh_eflags_ macros
Just opencoded access to eh_eflags, it's much more readable anyway.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-06-26 12:17:24 -05:00
Christoph Hellwig
8d115f845a [SCSI] remove scsi_cmnd->state
We never look at it except for the old megaraid driver that abuses it
for sending internal commands.  That usage can be fixed easily because
those internal commands are single-threaded by a mutex and we can easily
use a completion there.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-06-26 12:16:24 -05:00
Christoph Hellwig
b4edcbcafd [SCSI] remove scsi_cmnd->owner
never checked anywhere

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-06-26 12:15:28 -05:00
Christoph Hellwig
f5ad56145d [SCSI] remove scsi_cmnd->abort_reason
Never used for anything but printing it out in debug routines.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-06-26 12:14:46 -05:00
Christoph Hellwig
a4c8f62851 [SCSI] remove scsi_cmnd.eh_state
it's never set to anything, and just three broken drivers are looking
at it and doing odd things.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-06-26 12:14:10 -05:00
James Bottomley
fa4c49669f [SCSI] megaraid: fix compilation after eh locking changes
From: Christoph Hellwig <hch@lst.de>

Patch fixed up and
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-06-26 08:45:39 -05:00
Mark Haverkamp
849717383a [SCSI] aacraid: New products patch
This patch add the following products to the driver:
        IBM ServeRAID 8i
        ICP 9014R0
        ICP 9024R0
        ICP 9047MA
        ICP 9087MA
        ICP 9085LI
        ICP 5085AU

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-06-26 08:33:10 -05:00
Christoph Hellwig
12413197ee [SCSI] remove scsi_set_device
scsi_add_host is the proper place to set the device, but people copy
the scsi_set_device usage from older drivers again and again.

note that this leaves some legacy drivers like qlogicisp/qlogicfc
without pci association in sysfs, but they're scheduled to go away soon
anyway.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-06-26 08:31:47 -05:00
Nishanth Aravamudan
117e4b27eb [SCSI] scsi/qla1280: replace schedule_timeout() with ssleep()
Use ssleep() instead of schedule_timeout to guarantee the task
delays as expected.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-06-26 08:31:26 -05:00
Linus Torvalds
6f0dcb72d6 Fix up try_to_freeze() usage in arch/i386/kernel/signal.c
The parentheses were missing. Noted by Pavel Machek.
2005-06-25 20:09:12 -07:00
Linus Torvalds
2031d0f586 Merge Christoph's freeze cleanup patch 2005-06-25 17:16:53 -07:00
Christoph Lameter
3e1d1d28d9 [PATCH] Cleanup patch for process freezing
1. Establish a simple API for process freezing defined in linux/include/sched.h:

   frozen(process)		Check for frozen process
   freezing(process)		Check if a process is being frozen
   freeze(process)		Tell a process to freeze (go to refrigerator)
   thaw_process(process)	Restart process
   frozen_process(process)	Process is frozen now

2. Remove all references to PF_FREEZE and PF_FROZEN from all
   kernel sources except sched.h

3. Fix numerous locations where try_to_freeze is manually done by a driver

4. Remove the argument that is no longer necessary from two function calls.

5. Some whitespace cleanup

6. Clear potential race in refrigerator (provides an open window of PF_FREEZE
   cleared before setting PF_FROZEN, recalc_sigpending does not check
   PF_FROZEN).

This patch does not address the problem of freeze_processes() violating the rule
that a task may only modify its own flags by setting PF_FREEZE. This is not clean
in an SMP environment. freeze(process) is therefore not SMP safe!

Signed-off-by: Christoph Lameter <christoph@lameter.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 17:10:13 -07:00
Adrian Bunk
98e7f29418 [PATCH] schedule the obsolete raw driver for removal
Since kernel 2.6.3 the Kconfig text explicitely stated this driver was
obsolete.

(trolling for IBMers)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:11 -07:00
Domen Puncer
c33ed27126 [PATCH] list_for_each_entry: fs-dquot.c
Make code more readable with list_for_each_entry_safe.

Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Domen Puncer <domen@coderock.org>
Acked-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:11 -07:00
Adrian Bunk
97998d8fdb [PATCH] drivers/char/rio/: kill rio_udelay
There's no need for a function that only calls udelay.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:10 -07:00
Adrian Bunk
d660a7403a [PATCH] MAINTAINERS: document that uclinux-dev@uclinux.org is subscribers-only
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:10 -07:00
Alexey Dobriyan
9fd5559c1f [PATCH] DCO: use IANA-reserved second level domain name
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:10 -07:00
Nishanth Aravamudan
6a72c7ba2e [PATCH] serial/68328serial: replace schedule_timeout() with msleep_interruptible()
Use msleep_interruptible() instead of schedule_timeout() in send_break() to
guarantee the task delays as expected.  Change @duration's units to
milliseconds, and modify arguments in callers appropriately.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:10 -07:00
Nishanth Aravamudan
5d582b4ef6 [PATCH] serial/68360serial: replace schedule_timeout() with msleep_interruptible()
Use msleep_interruptible() instead of schedule_timeout() in send_break() to
guarantee the task delays as expected.  Change @duration's units to
milliseconds, and modify arguments in callers appropriately.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:10 -07:00
Tobias Klauser
f353488ce4 [PATCH] Remove duplicate file in Documentation/networking
The files wanpipe.txt and wan-router.txt in Documentation/networking contain
the exact same information (diff between the two shows no document is "Linux
WAN Router Utilities Package" and therefor the name wan-router.txt is more
appropriate.

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:09 -07:00
Tobias Klauser
301a716446 [PATCH] Remove duplicate file in Documentation/networking (00-INDEX)
wanpipe.txt and wan-router.txt in Documentation/networking contain the exact
same information (diff between the two shows no
Documentation/networking/00-INDEX as pointed out by Randy Dunlap.

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:09 -07:00
Tobias Klauser
c9ff7d6644 [PATCH] Remove duplicate file in Documentation/networking (drivers_net_wan_Kconfig)
wanpipe.txt and wan-router.txt in Documentation/networking contain the exact
same information (diff between the two shows no drivers/net/wan/Kconfig.

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:09 -07:00
Tobias Klauser
4f11842ebb [PATCH] sound/oss/cmpci: Use the DMA_32BIT_MASK constant
Use the DMA_32BIT_MASK constant from dma-mapping.h when calling
pci_set_dma_mask() or pci_set_consistent_dma_mask() See
http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for details

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:09 -07:00
Tobias Klauser
738c7b4f7f [PATCH] sound/oss/es1370: Use the DMA_32BIT_MASK constant
Use the DMA_32BIT_MASK constant from dma-mapping.h when calling
pci_set_dma_mask() or pci_set_consistent_dma_mask() See
http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for details

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:08 -07:00
Tobias Klauser
3ee538a2e8 [PATCH] sound/oss/es1371: Use the DMA_32BIT_MASK constant
Use the DMA_32BIT_MASK constant from dma-mapping.h when calling
pci_set_dma_mask() or pci_set_consistent_dma_mask() See
http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for details

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:08 -07:00
Tobias Klauser
caac3a444c [PATCH] sound/oss/esssolo1: Use the DMA_32BIT_MASK constant
Use the DMA_32BIT_MASK constant from dma-mapping.h when calling
pci_set_dma_mask() or pci_set_consistent_dma_mask() See
http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for details

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:08 -07:00
Christophe Lucas
f90e7185ee [PATCH] printk: arch/i386/mm/pgtable.c
printk() calls should include appropriate KERN_* constant.

Signed-off-by: Christophe Lucas <clucas@rotomalug.org>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:08 -07:00
Christophe Lucas
ee48dd5799 [PATCH] printk: arch/i386/mm/ioremap.c
printk() calls should include appropriate KERN_* constant.

Signed-off-by: Christophe Lucas <clucas@rotomalug.org>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:08 -07:00
J.A. Magallon
48b9d03c5f [PATCH] Kill signed chars
scripts/ is full of mismatches between char* params an signed char* arguments,
and viceversa.  gcc4 now complaints loud about this.  Patch below deletes all
those 'signed'.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:07 -07:00
Olaf Hering
f14c6fd0fc [PATCH] update comment about gzip scratch size
fix a comment about the array size.

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:07 -07:00
Nikita Danilov
dfa1a55335 [PATCH] ll_merge_requests_fn() cleanup
ll_merge_requests_fn() assigns total_{phys,hw}_segments twice.  Fix this
and a typo.

Signed-off-by: Nikita Danilov <nikita@clusterfs.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:07 -07:00
Adrian Bunk
672c3fd906 [PATCH] drivers/isdn/hisax/: possible cleanups
This patch contains the following possible cleanups:
- make needlessly global code static
- remove the compiled but unused st5481_hdlc.{c,h}
- kill enternow.h
- enternow_pci.c: kill InByte/OutByte/BYTE
- isdnl2.c: kill FreeSkb
- remove or #if 0 the following unused functions:
  - config.c: IsdnCardState
  - ipacx.c: ipacx_new_ph
  - ipacx.c: dch_bh
  - ipacx.c: setup_ipacx
  - isdnl2.c: IsRR

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Kai Germaschewski <kai@germaschewski.name>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:07 -07:00
Adrian Bunk
8b3d4a2a3e [PATCH] drivers/cdrom/cm206.c: cleanups
This patch contains the following cleanups:
- make needlessly global functions static
- remove the following unused global function:
  - cm206_delay

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:07 -07:00
Adrian Bunk
995c6ed2b1 [PATCH] drivers/char/ip2*: cleanups
This patch contains the following cleanups:
- i2cmd.c: #if 0 the unused function i2cmdUnixFlags
- i2cmd.c: make the needlessly global funciton i2cmdBaudDef static
- ip2main.c: remove dead code that wasn't reachable due to an #ifdef

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:06 -07:00
Jesper Juhl
0933ad9c23 [PATCH] kfree cleanups for drivers/firmware/
Here's a patch with kfree() cleanups for drivers/firmware/efivars.c Patch
removes redundant NULL checks before kfree and also makes a small
whitespace cleanup - moves two statements on same line to separate lines.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Acked-by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:06 -07:00
Jesper Juhl
0159f76d9f [PATCH] kfree cleanups in ixj.c
This patch removes redundant checks for NULL pointer before kfree() in
drivers/telephony/

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:06 -07:00
Jesper Juhl
89e0b1134e [PATCH] remove pointless NULL check before kfree in sony535.c
There's no need to check for NULL, kfree() can cope.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:06 -07:00
Adrian Bunk
07d46de415 [PATCH] update Computone MAINTAINERS entry
This patch states that Michael still maintains this driver and removes a no
longer mailing list.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:06 -07:00
Adrian Bunk
9e84d1c36a [PATCH] i386: cleanup boot_cpu_logical_apicid variables
There are currently two different boot_cpu_logical_apicid variables:
- a global one in mpparse.c
- a static one in smpboot.c

Of these two, only the one in smpboot.c might be used (through
boot_cpu_apicid).

This patch therefore removes the one in mpparse.c .

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrey Panin <pazke@donpac.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:25:05 -07:00